* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2015-12-03 11:33 Lars Wendler
0 siblings, 0 replies; 29+ messages in thread
From: Lars Wendler @ 2015-12-03 11:33 UTC (permalink / raw
To: gentoo-commits
commit: e98c6edabec9e0b0e9b21da01c2ea2e0df89897b
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 3 11:33:24 2015 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Thu Dec 3 11:33:44 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e98c6eda
sys-fs/lvm2: Bump to version 2.02.136
Package-Manager: portage-2.2.26
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
sys-fs/lvm2/Manifest | 1 +
.../lvm2-2.02.129-dynamic-static-ldflags.patch | 59 +++++
.../lvm2/files/lvm2-2.02.129-example.conf.in.patch | 52 ++++
.../lvm2-2.02.129-static-pkgconfig-libs.patch | 102 ++++++++
.../files/lvm2-2.02.130-pthread-pkgconfig.patch | 32 +++
sys-fs/lvm2/lvm2-2.02.136.ebuild | 275 +++++++++++++++++++++
6 files changed, 521 insertions(+)
diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest
index 6822526..750b75a 100644
--- a/sys-fs/lvm2/Manifest
+++ b/sys-fs/lvm2/Manifest
@@ -2,3 +2,4 @@ DIST LVM2.2.02.103.tgz 1343887 SHA256 71c5a2e8842ed2f13f52e02b44eb183110a3410ded
DIST LVM2.2.02.109.tgz 1482167 SHA256 7bc95ba5209c8aa5bd492167b2e2797f156852ed11cfc63fb783070ade8e65e7 SHA512 210645cccf297112ffdbc63e0336385c31b2d17d226ae10813ba8ffd4f01ce07af44a4134e60644283e4360e10e925113e867378502ae0166f3fc91258caea68 WHIRLPOOL 7f2d91446f502440b2ed73df0f2ce29069364bbb198e675223b61c17e5cc6e1c162ce60a977cb07b71e44d672c688bbbf0247380f1b9c5adf325cf324f4c4bb7
DIST LVM2.2.02.110.tgz 1487448 SHA256 3dad1aa04a71b8420b15f44c53f041001436539d3f8073490c2d0c52f6fecd11 SHA512 5b4dfa5ed877d34efa5b109dc712e8fa9154b4954b267b0243f1925f9d2fa8c67f4ce8da36a85f3bba6c117f6153fdbf150e3753587ab90584a86d2654dc0812 WHIRLPOOL ea221ed3e9d3f79009d7c341a7a75b52eacc5be79e28f2498e7cdc0f4a97c2bebff405b032eb8086d3b5b5aaf79da2f281c5734562355bddbe6004058e114ced
DIST LVM2.2.02.116.tgz 1538340 SHA256 2479d6ea61c405efcfcd8a78390d00c1d2e9c92c0262f3ed599f2c0fb6f0b767 SHA512 992541339637d597257850b4ff7f5348fb7cdcccf806ac8d986a3be1ad1edc5f6bfaedeed5128690c541d1a485cdc75742e90a766363c39867901003518fb84d WHIRLPOOL 1e89ec941882fddba62c9649be46eb5bc6c9cb899669d4bbe4a4a1023c8bf7d8264c4815ef88bb39dedcb9637815411feb826aa102e629d77b80e45e099e398d
+DIST LVM2.2.02.136.tgz 1891010 SHA256 c6af90097d8f7cd851d38c4f57bb3ad7039cfa123f1e336dba957814a298bd8c SHA512 ebda683e7dbeb2c4860a583d47e60756d18127e37a373ab2958af8e54b9bee0d2e3370b7803d88fa4b08564345c88af55bfbac317081160118ce4b3733b69f9d WHIRLPOOL 8020fdddac648e32084801ffaf9b00b8a683870c8dd8dd5969851fd081eb1efd578decd82cd4a7a24fb6150c55afafdd819a76eb7eb6926cdc057455cc1d1618
diff --git a/sys-fs/lvm2/files/lvm2-2.02.129-dynamic-static-ldflags.patch b/sys-fs/lvm2/files/lvm2-2.02.129-dynamic-static-ldflags.patch
new file mode 100644
index 0000000..efdfb81
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.02.129-dynamic-static-ldflags.patch
@@ -0,0 +1,59 @@
+--- LVM2.2.02.129/configure.in
++++ LVM2.2.02.129/configure.in
+@@ -31,6 +31,7 @@
+ linux*)
+ CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym"
+ ELDFLAGS="-Wl,--export-dynamic"
++ STATIC_LDFLAGS="-Wl,--no-export-dynamic"
+ # FIXME Generate list and use --dynamic-list=.dlopen.sym
+ CLDWHOLEARCHIVE="-Wl,-whole-archive"
+ CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive"
+@@ -2008,6 +2009,7 @@
+ AC_SUBST(SELINUX_PC)
+ AC_SUBST(SNAPSHOTS)
+ AC_SUBST(STATICDIR)
++AC_SUBST(STATIC_LDFLAGS)
+ AC_SUBST(STATIC_LINK)
+ AC_SUBST(TESTING)
+ AC_SUBST(TESTSUITE_DATA)
+--- LVM2.2.02.129/daemons/dmeventd/Makefile.in
++++ LVM2.2.02.129/daemons/dmeventd/Makefile.in
+@@ -66,7 +66,7 @@
+ $(DL_LIBS) $(LVMLIBS) $(LIBS) -rdynamic
+
+ dmeventd.static: $(LIB_STATIC) dmeventd.o $(interfacebuilddir)/libdevmapper.a
+- $(CC) $(CFLAGS) $(LDFLAGS) $(ELDFLAGS) -static -L. -L$(interfacebuilddir) -o $@ \
++ $(CC) $(CFLAGS) $(LDFLAGS) $(ELDFLAGS) $(STATIC_LDFLAGS) -static -L. -L$(interfacebuilddir) -o $@ \
+ dmeventd.o $(DL_LIBS) $(LVMLIBS) $(LIBS) $(STATIC_LIBS)
+
+ ifeq ("@PKGCONFIG@", "yes")
+--- LVM2.2.02.129/make.tmpl.in
++++ LVM2.2.02.129/make.tmpl.in
+@@ -48,6 +48,7 @@
+ # FIXME set this only where it's needed, not globally?
+ CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
+ LDFLAGS ?= @COPTIMISE_FLAG@ @LDFLAGS@
++STATIC_LDFLAGS += @STATIC_LDFLAGS@
+ CLDFLAGS += @CLDFLAGS@
+ ELDFLAGS += @ELDFLAGS@
+ LDDEPS += @LDDEPS@
+--- LVM2.2.02.129/tools/Makefile.in
++++ LVM2.2.02.129/tools/Makefile.in
+@@ -129,7 +129,7 @@
+ -o $@ dmsetup.o -ldevmapper $(LIBS)
+
+ dmsetup.static: dmsetup.o $(interfacebuilddir)/libdevmapper.a
+- $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) \
++ $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) \
+ -o $@ dmsetup.o -ldevmapper $(STATIC_LIBS) $(LIBS)
+
+ all: device-mapper
+@@ -146,7 +146,7 @@
+ endif
+
+ lvm.static: $(OBJECTS) lvm-static.o $(top_builddir)/lib/liblvm-internal.a $(interfacebuilddir)/libdevmapper.a
+- $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) -o $@ \
++ $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) -o $@ \
+ $(OBJECTS) lvm-static.o $(LVMLIBS) $(STATIC_LIBS) $(LIBS)
+
+ liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
diff --git a/sys-fs/lvm2/files/lvm2-2.02.129-example.conf.in.patch b/sys-fs/lvm2/files/lvm2-2.02.129-example.conf.in.patch
new file mode 100644
index 0000000..076e060
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.02.129-example.conf.in.patch
@@ -0,0 +1,52 @@
+Maintainer note: Forward ported without editing from lvm2-2.02.108-example.conf.in.patch to apply cleanly.
+
+--- LVM2.2.02.129/conf/example.conf.in
++++ LVM2.2.02.129/conf/example.conf.in
+@@ -128,6 +128,9 @@
+ # Example
+ # Accept every block device:
+ # filter = [ "a|.*/|" ]
++ # Gentoo: we exclude /dev/nbd by default, because it makes a lot of kernel
++ # noise when you probed while not available.
++ filter = [ "r|/dev/nbd.*|", "a/.*/" ]
+ # Reject the cdrom drive:
+ # filter = [ "r|/dev/cdrom|" ]
+ # Work with just loopback devices, e.g. for testing:
+@@ -620,7 +623,8 @@
+ # tools need to be installed with .lvm1 suffices, e.g. vgscan.lvm1.
+ # They will stop working once the lvm2 on-disk metadata format is used.
+ # This configuration option has an automatic default value.
+- # fallback_to_lvm1 = @DEFAULT_FALLBACK_TO_LVM1@
++ # Gentoo: the LVM tools are a seperate package.
++ fallback_to_lvm1 = 0
+
+ # Configuration option global/format.
+ # The default metadata format that commands should use.
+@@ -1413,7 +1417,7 @@
+
+ # Configuration section metadata.
+ # This configuration section has an automatic default value.
+-# metadata {
++metadata {
+
+ # Configuration option metadata/pvmetadatacopies.
+ # Number of copies of metadata to store on each PV.
+@@ -1431,7 +1435,8 @@
+ #
+ # This configuration option is advanced.
+ # This configuration option has an automatic default value.
+- # pvmetadatacopies = 1
++ # Gentoo: enable for data safety, but PV resize is then disabled.
++ # pvmetadatacopies = 2
+
+ # Configuration option metadata/vgmetadatacopies.
+ # Number of copies of metadata to maintain for each VG.
+@@ -1486,7 +1491,7 @@
+ #
+ # This configuration option is advanced.
+ # This configuration option does not have a default value defined.
+-# }
++}
+
+ # Configuration section report.
+ # LVM report command output formatting.
diff --git a/sys-fs/lvm2/files/lvm2-2.02.129-static-pkgconfig-libs.patch b/sys-fs/lvm2/files/lvm2-2.02.129-static-pkgconfig-libs.patch
new file mode 100644
index 0000000..2396945
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.02.129-static-pkgconfig-libs.patch
@@ -0,0 +1,102 @@
+--- LVM2.2.02.129/configure.in
++++ LVM2.2.02.129/configure.in
+@@ -1287,6 +1287,7 @@
+ fi])
+ if test "$BLKID_WIPING" = yes; then
+ BLKID_PC="blkid"
++ BLKID_STATIC_LIBS=`$PKG_CONFIG --static --libs $BLKID_PC`
+ DEFAULT_USE_BLKID_WIPING=1
+ AC_DEFINE([BLKID_WIPING_SUPPORT], 1, [Define to 1 to use libblkid detection of signatures when wiping.])
+ else
+@@ -1332,6 +1333,7 @@
+ if test "$UDEV_SYNC" = yes; then
+ pkg_config_init
+ PKG_CHECK_MODULES(UDEV, libudev >= 143, [UDEV_PC="libudev"])
++ UDEV_STATIC_LIBS=`$PKG_CONFIG --static --libs libudev`
+ AC_DEFINE([UDEV_SYNC_SUPPORT], 1, [Define to 1 to enable synchronisation with udev processing.])
+ fi
+
+@@ -1558,19 +1560,32 @@
+ if test "$SELINUX" = yes; then
+ AC_CHECK_LIB([sepol], [sepol_check_context], [
+ AC_DEFINE([HAVE_SEPOL], 1, [Define to 1 if sepol_check_context is available.])
+- SELINUX_LIBS="-lsepol"])
++ SEPOL_LIBS="-lsepol"])
++
++ dnl -- init pkgconfig if required
++ if test x$PKGCONFIG_INIT != x1; then
++ pkg_config_init
++ fi
++ PKG_CHECK_MODULES(SELINUX, libselinux, [
++ SELINUX_PC="libselinux"
++ SELINUX_STATIC_LIBS=`$PKG_CONFIG --static --libs libselinux`
++ SELINUX_LIBS="$SELINUX_LIBS $SEPOL_LIBS"
++ AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
++ ],[
++ dnl -- old non-pkgconfig method, is buggy with static builds
+
+ AC_CHECK_LIB([selinux], [is_selinux_enabled], [
+ AC_CHECK_HEADERS([selinux/selinux.h],, hard_bailout)
+ AC_CHECK_HEADERS([selinux/label.h])
+ AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
+- SELINUX_LIBS="-lselinux $SELINUX_LIBS"
++ SELINUX_LIBS="-lselinux $SEPOL_LIBS"
+ SELINUX_PC="libselinux"
+ HAVE_SELINUX=yes ], [
+ AC_MSG_WARN(Disabling selinux)
+ SELINUX_LIBS=
+ SELINUX_PC=
+ HAVE_SELINUX=no ])
++ ])
+ fi
+
+ ################################################################################
+@@ -1902,6 +1917,7 @@
+ ################################################################################
+ AC_SUBST(APPLIB)
+ AC_SUBST(AWK)
++AC_SUBST(BLKID_STATIC_LIBS)
+ AC_SUBST(BLKID_PC)
+ AC_SUBST(BUILD_CMIRRORD)
+ AC_SUBST(BUILD_DMEVENTD)
+@@ -2005,6 +2021,7 @@
+ AC_SUBST(SALCK_CFLAGS)
+ AC_SUBST(SALCK_LIBS)
+ AC_SUBST(SELINUX_LIBS)
++AC_SUBST(SELINUX_STATIC_LIBS)
+ AC_SUBST(SELINUX_PC)
+ AC_SUBST(SNAPSHOTS)
+ AC_SUBST(STATICDIR)
+@@ -2020,6 +2037,7 @@
+ AC_SUBST(CACHE_DUMP_CMD)
+ AC_SUBST(CACHE_REPAIR_CMD)
+ AC_SUBST(CACHE_RESTORE_CMD)
++AC_SUBST(UDEV_STATIC_LIBS)
+ AC_SUBST(UDEV_PC)
+ AC_SUBST(UDEV_RULES)
+ AC_SUBST(UDEV_SYNC)
+--- LVM2.2.02.129/make.tmpl.in
++++ LVM2.2.02.129/make.tmpl.in
+@@ -43,7 +43,7 @@
+
+ LIBS = @LIBS@
+ # Extra libraries always linked with static binaries
+-STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS)
++STATIC_LIBS = $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS)
+ DEFS += @DEFS@
+ # FIXME set this only where it's needed, not globally?
+ CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
+@@ -58,10 +58,13 @@
+ PTHREAD_LIBS = @PTHREAD_LIBS@
+ READLINE_LIBS = @READLINE_LIBS@
+ SELINUX_LIBS = @SELINUX_LIBS@
++SELINUX_STATIC_LIBS = @SELINUX_STATIC_LIBS@
+ UDEV_CFLAGS = @UDEV_CFLAGS@
+ UDEV_LIBS = @UDEV_LIBS@
++UDEV_STATIC_LIBS = @UDEV_STATIC_LIBS@
+ BLKID_CFLAGS = @BLKID_CFLAGS@
+ BLKID_LIBS = @BLKID_LIBS@
++BLKID_STATIC_LIBS = @BLKID_STATIC_LIBS@
+ VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
+ TESTING = @TESTING@
+
diff --git a/sys-fs/lvm2/files/lvm2-2.02.130-pthread-pkgconfig.patch b/sys-fs/lvm2/files/lvm2-2.02.130-pthread-pkgconfig.patch
new file mode 100644
index 0000000..11db632
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.02.130-pthread-pkgconfig.patch
@@ -0,0 +1,32 @@
+Make sure that libdm usage always brings in pthread libraries, both in
+pkgconfig and during manual build.
+
+--- LVM2.2.02.130/libdm/libdevmapper.pc.in
++++ LVM2.2.02.130/libdm/libdevmapper.pc.in
+@@ -9,4 +9,4 @@
+ Cflags: -I${includedir}
+ Libs: -L${libdir} -ldevmapper
+ Requires.private: @SELINUX_PC@ @UDEV_PC@
+-Libs.private: -lm @RT_LIB@
++Libs.private: -lm @RT_LIB@ @PTHREAD_LIBS@
+--- LVM2.2.02.130/tools/Makefile.in
++++ LVM2.2.02.130/tools/Makefile.in
+@@ -90,6 +90,7 @@
+ INSTALL_LVM_TARGETS += install_tools_static
+ INSTALL_DMSETUP_TARGETS += install_dmsetup_static
+ INSTALL_CMDLIB_TARGETS += install_cmdlib_static
++ STATIC_LIBS += @PTHREAD_LIBS@
+ endif
+
+ LVMLIBS = $(LVMINTERNAL_LIBS)
+@@ -120,6 +121,10 @@
+
+ include $(top_builddir)/make.tmpl
+
++ifeq ("@STATIC_LINK@", "yes")
++ STATIC_LIBS += @PTHREAD_LIBS@
++endif
++
+ device-mapper: $(TARGETS_DM)
+
+ CFLAGS_dmsetup.o += $(UDEV_CFLAGS) $(EXTRA_EXEC_CFLAGS)
diff --git a/sys-fs/lvm2/lvm2-2.02.136.ebuild b/sys-fs/lvm2/lvm2-2.02.136.ebuild
new file mode 100644
index 0000000..96c067b
--- /dev/null
+++ b/sys-fs/lvm2/lvm2-2.02.136.ebuild
@@ -0,0 +1,275 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils linux-info multilib systemd toolchain-funcs udev flag-o-matic
+
+DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
+HOMEPAGE="https://sources.redhat.com/lvm2/"
+SRC_URI="ftp://sources.redhat.com/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
+ ftp://sources.redhat.com/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="readline static static-libs systemd clvm cman lvm1 lvm2create_initrd selinux +udev +thin device-mapper-only"
+REQUIRED_USE="device-mapper-only? ( !clvm !cman !lvm1 !lvm2create_initrd !thin )
+ systemd? ( udev )
+ clvm? ( !systemd )"
+
+DEPEND_COMMON="clvm? ( cman? ( =sys-cluster/cman-3* ) =sys-cluster/libdlm-3* )
+ readline? ( sys-libs/readline:0= )
+ udev? ( >=virtual/libudev-208:=[static-libs?] )"
+# /run is now required for locking during early boot. /var cannot be assumed to
+# be available -- thus, pull in recent enough baselayout for /run.
+# This version of LVM is incompatible with cryptsetup <1.1.2.
+RDEPEND="${DEPEND_COMMON}
+ >=sys-apps/baselayout-2.2
+ !<sys-apps/openrc-0.11
+ !<sys-fs/cryptsetup-1.1.2
+ !!sys-fs/clvm
+ !!sys-fs/lvm-user
+ >=sys-apps/util-linux-2.16
+ lvm2create_initrd? ( sys-apps/makedev )
+ thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
+# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
+# USE 'static' currently only works with eudev, bug 520450
+DEPEND="${DEPEND_COMMON}
+ virtual/pkgconfig
+ >=sys-devel/binutils-2.20.1-r1
+ static? (
+ selinux? ( sys-libs/libselinux[static-libs] )
+ udev? ( >=sys-fs/eudev-3.1.2[static-libs] )
+ >=sys-apps/util-linux-2.16[static-libs]
+ )"
+
+S=${WORKDIR}/${PN/lvm/LVM}.${PV}
+
+pkg_setup() {
+ local CONFIG_CHECK="~SYSVIPC"
+
+ if use udev; then
+ local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
+ if linux_config_exists; then
+ local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
+ if [ -n "${uevent_helper_path}" ] && [ "${uevent_helper_path}" != '""' ]; then
+ ewarn "It's recommended to set an empty value to the following kernel config option:"
+ ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
+ fi
+ fi
+ fi
+
+ check_extra_config
+
+ # 1. Genkernel no longer copies /sbin/lvm blindly.
+ if use static; then
+ elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
+ elog "their static versions. If you need the static binaries,"
+ elog "you must append .static to the filename!"
+ fi
+}
+
+src_prepare() {
+ # Gentoo specific modification(s):
+ epatch "${FILESDIR}"/${PN}-2.02.129-example.conf.in.patch
+
+ sed -i \
+ -e "1iAR = $(tc-getAR)" \
+ -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
+ make.tmpl.in || die #444082
+
+ sed -i -e '/FLAG/s:-O2::' configure{.in,} || die #480212
+
+ if use udev && ! use device-mapper-only; then
+ sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196
+ elog "Notice that \"use_lvmetad\" setting is enabled with USE=\"udev\" in"
+ elog "/etc/lvm/lvm.conf, which will require restart of udev, lvm, and lvmetad"
+ elog "if it was previously disabled."
+ fi
+
+ sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
+
+ # For upstream -- review and forward:
+ epatch "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
+ epatch "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
+ epatch "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
+ epatch "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
+ epatch "${FILESDIR}"/${PN}-2.02.70-asneeded.patch # -Wl,--as-needed
+ epatch "${FILESDIR}"/${PN}-2.02.129-dynamic-static-ldflags.patch #332905
+ epatch "${FILESDIR}"/${PN}-2.02.129-static-pkgconfig-libs.patch #370217, #439414 + blkid
+ epatch "${FILESDIR}"/${PN}-2.02.130-pthread-pkgconfig.patch #492450
+
+ # Without thin-privision-tools, there is nothing to install for target install_man7:
+ use thin || { sed -i -e '/^install_lvm2/s:install_man7::' man/Makefile.in || die; }
+
+ eautoreconf
+}
+
+src_configure() {
+ filter-flags -flto
+ local myconf
+ local buildmode
+
+ myconf="${myconf} $(use_enable !device-mapper-only dmeventd)"
+ myconf="${myconf} $(use_enable !device-mapper-only cmdlib)"
+ myconf="${myconf} $(use_enable !device-mapper-only applib)"
+ myconf="${myconf} $(use_enable !device-mapper-only fsadm)"
+ myconf="${myconf} $(use_enable !device-mapper-only lvmetad)"
+ use device-mapper-only && myconf="${myconf} --disable-udev-systemd-background-jobs"
+
+ # Most of this package does weird stuff.
+ # The build options are tristate, and --without is NOT supported
+ # options: 'none', 'internal', 'shared'
+ if use static; then
+ buildmode="internal"
+ # This only causes the .static versions to become available
+ myconf="${myconf} --enable-static_link"
+ else
+ buildmode="shared"
+ fi
+ dmbuildmode=$(use !device-mapper-only && echo internal || echo none)
+
+ # dmeventd requires mirrors to be internal, and snapshot available
+ # so we cannot disable them
+ myconf="${myconf} --with-mirrors=${dmbuildmode}"
+ myconf="${myconf} --with-snapshots=${dmbuildmode}"
+ if use thin; then
+ myconf="${myconf} --with-thin=internal --with-cache=internal"
+ local texec
+ for texec in check dump repair restore; do
+ myconf="${myconf} --with-thin-${texec}=${EPREFIX}/sbin/thin_${texec}"
+ myconf="${myconf} --with-cache-${texec}=${EPREFIX}/sbin/cache_${texec}"
+ done
+ else
+ myconf="${myconf} --with-thin=none --with-cache=none"
+ fi
+
+ if use lvm1; then
+ myconf="${myconf} --with-lvm1=${buildmode}"
+ else
+ myconf="${myconf} --with-lvm1=none"
+ fi
+
+ # disable O_DIRECT support on hppa, breaks pv detection (#99532)
+ use hppa && myconf="${myconf} --disable-o_direct"
+
+ if use clvm; then
+ myconf="${myconf} --with-cluster=${buildmode}"
+ # 4-state! Make sure we get it right, per bug 210879
+ # Valid options are: none, cman, gulm, all
+ #
+ # 2009/02:
+ # gulm is removed now, now dual-state:
+ # cman, none
+ # all still exists, but is not needed
+ #
+ # 2009/07:
+ # TODO: add corosync and re-enable ALL
+ local clvmd=""
+ use cman && clvmd="cman"
+ #clvmd="${clvmd/cmangulm/all}"
+ [ -z "${clvmd}" ] && clvmd="none"
+ myconf="${myconf} --with-clvmd=${clvmd}"
+ myconf="${myconf} --with-pool=${buildmode}"
+ else
+ myconf="${myconf} --with-clvmd=none --with-cluster=none"
+ fi
+
+ econf \
+ $(use_enable readline) \
+ $(use_enable selinux) \
+ --enable-pkgconfig \
+ --with-confdir="${EPREFIX}"/etc \
+ --exec-prefix="${EPREFIX}" \
+ --sbindir="${EPREFIX}/sbin" \
+ --with-staticdir="${EPREFIX}"/sbin \
+ --libdir="${EPREFIX}/$(get_libdir)" \
+ --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --with-default-dm-run-dir=/run \
+ --with-default-run-dir=/run/lvm \
+ --with-default-locking-dir=/run/lock/lvm \
+ --with-default-pid-dir=/run \
+ $(use_enable udev udev_rules) \
+ $(use_enable udev udev_sync) \
+ $(use_with udev udevdir "$(get_udevdir)"/rules.d) \
+ $(use_enable systemd udev-systemd-background-jobs) \
+ "$(systemd_with_unitdir)" \
+ ${myconf} \
+ CLDFLAGS="${LDFLAGS}"
+}
+
+src_compile() {
+ pushd include >/dev/null
+ emake
+ popd >/dev/null
+
+ if use device-mapper-only ; then
+ emake device-mapper
+ else
+ emake
+ emake CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
+ fi
+}
+
+src_install() {
+ local inst
+ INSTALL_TARGETS="install install_tmpfiles_configuration"
+ # install systemd related files only when requested, bug #522430
+ use systemd && INSTALL_TARGETS="${INSTALL_TARGETS} install_systemd_units install_systemd_generators"
+ use device-mapper-only && INSTALL_TARGETS="install_device-mapper"
+ for inst in ${INSTALL_TARGETS}; do
+ emake DESTDIR="${D}" ${inst}
+ done
+
+ newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
+ newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
+
+ if use !device-mapper-only ; then
+ newinitd "${FILESDIR}"/dmeventd.initd-2.02.67-r1 dmeventd
+ newinitd "${FILESDIR}"/lvm.rc-2.02.105-r2 lvm
+ newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm
+
+ newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
+ newinitd "${FILESDIR}"/lvmetad.initd-2.02.105-r2 lvmetad
+ fi
+
+ if use clvm; then
+ newinitd "${FILESDIR}"/clvmd.rc-2.02.39 clvmd
+ newconfd "${FILESDIR}"/clvmd.confd-2.02.39 clvmd
+ fi
+
+ if use static-libs; then
+ dolib.a libdm/ioctl/libdevmapper.a
+ dolib.a libdaemon/client/libdaemonclient.a #462908
+ #gen_usr_ldscript libdevmapper.so
+ dolib.a daemons/dmeventd/libdevmapper-event.a
+ #gen_usr_ldscript libdevmapper-event.so
+ else
+ rm -f "${ED}"usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
+ fi
+
+ if use lvm2create_initrd; then
+ dosbin scripts/lvm2create_initrd/lvm2create_initrd
+ doman scripts/lvm2create_initrd/lvm2create_initrd.8
+ newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
+ fi
+
+ insinto /etc
+ doins "${FILESDIR}"/dmtab
+
+ dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
+}
+
+pkg_postinst() {
+ ewarn "Make sure the \"lvm\" init script is in the runlevels:"
+ ewarn "# rc-update add lvm boot"
+ ewarn
+ ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
+ ewarn "to enable lvm autoactivation and metadata caching."
+}
+
+src_test() {
+ einfo "Tests are disabled because of device-node mucking, if you want to"
+ einfo "run tests, compile the package and see ${S}/tests"
+}
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2015-12-28 0:30 Robin H. Johnson
0 siblings, 0 replies; 29+ messages in thread
From: Robin H. Johnson @ 2015-12-28 0:30 UTC (permalink / raw
To: gentoo-commits
commit: 1d828236d11580a7fc057ff700b86e09e94cc188
Author: Doug Goldstein <cardoe <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 24 22:51:37 2015 +0000
Commit: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Mon Dec 28 00:28:57 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1d828236
sys-fs/lvm2: fix missing dir for lvmetad
lvmetad fails to start up due to /run/lvm not existing when it the
system needs it to start. This ensures the directory is created.
Gentoo-Bug: 521960
Signed-off-by: Doug Goldstein <cardoe <AT> gentoo.org>
Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>
sys-fs/lvm2/files/lvmetad.initd-2.02.116-r3 | 18 ++
sys-fs/lvm2/lvm2-2.02.116-r3.ebuild | 275 ++++++++++++++++++++++++++++
2 files changed, 293 insertions(+)
diff --git a/sys-fs/lvm2/files/lvmetad.initd-2.02.116-r3 b/sys-fs/lvm2/files/lvmetad.initd-2.02.116-r3
new file mode 100644
index 0000000..db0b698
--- /dev/null
+++ b/sys-fs/lvm2/files/lvmetad.initd-2.02.116-r3
@@ -0,0 +1,18 @@
+#!/sbin/runscript
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+pidfile="/run/lvmetad.pid"
+command="/sbin/lvmetad"
+command_args="${LVMETAD_OPTS:=-p ${pidfile}}"
+start_stop_daemon_args="--pidfile ${pidfile}"
+
+depend() {
+ :
+}
+
+start_pre()
+{
+ checkpath --directory /run/lvm || return 1
+}
diff --git a/sys-fs/lvm2/lvm2-2.02.116-r3.ebuild b/sys-fs/lvm2/lvm2-2.02.116-r3.ebuild
new file mode 100644
index 0000000..3146e3c
--- /dev/null
+++ b/sys-fs/lvm2/lvm2-2.02.116-r3.ebuild
@@ -0,0 +1,275 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils linux-info multilib systemd toolchain-funcs udev flag-o-matic
+
+DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
+HOMEPAGE="https://sources.redhat.com/lvm2/"
+SRC_URI="ftp://sources.redhat.com/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
+ ftp://sources.redhat.com/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="readline static static-libs systemd clvm cman lvm1 lvm2create_initrd selinux +udev +thin device-mapper-only"
+REQUIRED_USE="device-mapper-only? ( !clvm !cman !lvm1 !lvm2create_initrd !thin )
+ systemd? ( udev )
+ clvm? ( !systemd )"
+
+DEPEND_COMMON="clvm? ( cman? ( =sys-cluster/cman-3* ) =sys-cluster/libdlm-3* )
+ readline? ( sys-libs/readline:0= )
+ udev? ( >=virtual/libudev-208:=[static-libs?] )"
+# /run is now required for locking during early boot. /var cannot be assumed to
+# be available -- thus, pull in recent enough baselayout for /run.
+# This version of LVM is incompatible with cryptsetup <1.1.2.
+RDEPEND="${DEPEND_COMMON}
+ >=sys-apps/baselayout-2.2
+ !<sys-apps/openrc-0.11
+ !<sys-fs/cryptsetup-1.1.2
+ !!sys-fs/clvm
+ !!sys-fs/lvm-user
+ >=sys-apps/util-linux-2.16
+ lvm2create_initrd? ( sys-apps/makedev )
+ thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
+# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
+# USE 'static' currently only works with eudev, bug 520450
+DEPEND="${DEPEND_COMMON}
+ virtual/pkgconfig
+ >=sys-devel/binutils-2.20.1-r1
+ static? (
+ selinux? ( sys-libs/libselinux[static-libs] )
+ udev? ( >=sys-fs/eudev-3.1.2[static-libs] )
+ >=sys-apps/util-linux-2.16[static-libs]
+ )"
+
+S=${WORKDIR}/${PN/lvm/LVM}.${PV}
+
+pkg_setup() {
+ local CONFIG_CHECK="~SYSVIPC"
+
+ if use udev; then
+ local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
+ if linux_config_exists; then
+ local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
+ if [ -n "${uevent_helper_path}" ] && [ "${uevent_helper_path}" != '""' ]; then
+ ewarn "It's recommended to set an empty value to the following kernel config option:"
+ ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
+ fi
+ fi
+ fi
+
+ check_extra_config
+
+ # 1. Genkernel no longer copies /sbin/lvm blindly.
+ if use static; then
+ elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
+ elog "their static versions. If you need the static binaries,"
+ elog "you must append .static to the filename!"
+ fi
+}
+
+src_prepare() {
+ # Gentoo specific modification(s):
+ epatch "${FILESDIR}"/${PN}-2.02.108-example.conf.in.patch
+
+ sed -i \
+ -e "1iAR = $(tc-getAR)" \
+ -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
+ make.tmpl.in || die #444082
+
+ sed -i -e '/FLAG/s:-O2::' configure{.in,} || die #480212
+
+ if use udev && ! use device-mapper-only; then
+ sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196
+ elog "Notice that \"use_lvmetad\" setting is enabled with USE=\"udev\" in"
+ elog "/etc/lvm/lvm.conf, which will require restart of udev, lvm, and lvmetad"
+ elog "if it was previously disabled."
+ fi
+
+ sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
+
+ # For upstream -- review and forward:
+ epatch "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
+ epatch "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
+ epatch "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
+ epatch "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
+ epatch "${FILESDIR}"/${PN}-2.02.70-asneeded.patch # -Wl,--as-needed
+ epatch "${FILESDIR}"/${PN}-2.02.92-dynamic-static-ldflags.patch #332905
+ epatch "${FILESDIR}"/${PN}-2.02.108-static-pkgconfig-libs.patch #370217, #439414 + blkid
+ epatch "${FILESDIR}"/${PN}-2.02.106-pthread-pkgconfig.patch #492450
+
+ # Without thin-privision-tools, there is nothing to install for target install_man7:
+ use thin || { sed -i -e '/^install_lvm2/s:install_man7::' man/Makefile.in || die; }
+
+ eautoreconf
+}
+
+src_configure() {
+ filter-flags -flto
+ local myconf
+ local buildmode
+
+ myconf="${myconf} $(use_enable !device-mapper-only dmeventd)"
+ myconf="${myconf} $(use_enable !device-mapper-only cmdlib)"
+ myconf="${myconf} $(use_enable !device-mapper-only applib)"
+ myconf="${myconf} $(use_enable !device-mapper-only fsadm)"
+ myconf="${myconf} $(use_enable !device-mapper-only lvmetad)"
+ use device-mapper-only && myconf="${myconf} --disable-udev-systemd-background-jobs"
+
+ # Most of this package does weird stuff.
+ # The build options are tristate, and --without is NOT supported
+ # options: 'none', 'internal', 'shared'
+ if use static; then
+ buildmode="internal"
+ # This only causes the .static versions to become available
+ myconf="${myconf} --enable-static_link"
+ else
+ buildmode="shared"
+ fi
+ dmbuildmode=$(use !device-mapper-only && echo internal || echo none)
+
+ # dmeventd requires mirrors to be internal, and snapshot available
+ # so we cannot disable them
+ myconf="${myconf} --with-mirrors=${dmbuildmode}"
+ myconf="${myconf} --with-snapshots=${dmbuildmode}"
+ if use thin; then
+ myconf="${myconf} --with-thin=internal --with-cache=internal"
+ local texec
+ for texec in check dump repair restore; do
+ myconf="${myconf} --with-thin-${texec}=${EPREFIX}/sbin/thin_${texec}"
+ myconf="${myconf} --with-cache-${texec}=${EPREFIX}/sbin/cache_${texec}"
+ done
+ else
+ myconf="${myconf} --with-thin=none --with-cache=none"
+ fi
+
+ if use lvm1; then
+ myconf="${myconf} --with-lvm1=${buildmode}"
+ else
+ myconf="${myconf} --with-lvm1=none"
+ fi
+
+ # disable O_DIRECT support on hppa, breaks pv detection (#99532)
+ use hppa && myconf="${myconf} --disable-o_direct"
+
+ if use clvm; then
+ myconf="${myconf} --with-cluster=${buildmode}"
+ # 4-state! Make sure we get it right, per bug 210879
+ # Valid options are: none, cman, gulm, all
+ #
+ # 2009/02:
+ # gulm is removed now, now dual-state:
+ # cman, none
+ # all still exists, but is not needed
+ #
+ # 2009/07:
+ # TODO: add corosync and re-enable ALL
+ local clvmd=""
+ use cman && clvmd="cman"
+ #clvmd="${clvmd/cmangulm/all}"
+ [ -z "${clvmd}" ] && clvmd="none"
+ myconf="${myconf} --with-clvmd=${clvmd}"
+ myconf="${myconf} --with-pool=${buildmode}"
+ else
+ myconf="${myconf} --with-clvmd=none --with-cluster=none"
+ fi
+
+ econf \
+ $(use_enable readline) \
+ $(use_enable selinux) \
+ --enable-pkgconfig \
+ --with-confdir="${EPREFIX}"/etc \
+ --exec-prefix="${EPREFIX}" \
+ --sbindir="${EPREFIX}/sbin" \
+ --with-staticdir="${EPREFIX}"/sbin \
+ --libdir="${EPREFIX}/$(get_libdir)" \
+ --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --with-default-dm-run-dir=/run \
+ --with-default-run-dir=/run/lvm \
+ --with-default-locking-dir=/run/lock/lvm \
+ --with-default-pid-dir=/run \
+ $(use_enable udev udev_rules) \
+ $(use_enable udev udev_sync) \
+ $(use_with udev udevdir "$(get_udevdir)"/rules.d) \
+ $(use_enable systemd udev-systemd-background-jobs) \
+ "$(systemd_with_unitdir)" \
+ ${myconf} \
+ CLDFLAGS="${LDFLAGS}"
+}
+
+src_compile() {
+ pushd include >/dev/null
+ emake
+ popd >/dev/null
+
+ if use device-mapper-only ; then
+ emake device-mapper
+ else
+ emake
+ emake CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
+ fi
+}
+
+src_install() {
+ local inst
+ INSTALL_TARGETS="install install_tmpfiles_configuration"
+ # install systemd related files only when requested, bug #522430
+ use systemd && INSTALL_TARGETS="${INSTALL_TARGETS} install_systemd_units install_systemd_generators"
+ use device-mapper-only && INSTALL_TARGETS="install_device-mapper"
+ for inst in ${INSTALL_TARGETS}; do
+ emake DESTDIR="${D}" ${inst}
+ done
+
+ newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
+ newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
+
+ if use !device-mapper-only ; then
+ newinitd "${FILESDIR}"/dmeventd.initd-2.02.67-r1 dmeventd
+ newinitd "${FILESDIR}"/lvm.rc-2.02.105-r2 lvm
+ newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm
+
+ newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
+ newinitd "${FILESDIR}"/lvmetad.initd-2.02.116-r3 lvmetad
+ fi
+
+ if use clvm; then
+ newinitd "${FILESDIR}"/clvmd.rc-2.02.39 clvmd
+ newconfd "${FILESDIR}"/clvmd.confd-2.02.39 clvmd
+ fi
+
+ if use static-libs; then
+ dolib.a libdm/ioctl/libdevmapper.a
+ dolib.a libdaemon/client/libdaemonclient.a #462908
+ #gen_usr_ldscript libdevmapper.so
+ dolib.a daemons/dmeventd/libdevmapper-event.a
+ #gen_usr_ldscript libdevmapper-event.so
+ else
+ rm -f "${ED}"usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
+ fi
+
+ if use lvm2create_initrd; then
+ dosbin scripts/lvm2create_initrd/lvm2create_initrd
+ doman scripts/lvm2create_initrd/lvm2create_initrd.8
+ newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
+ fi
+
+ insinto /etc
+ doins "${FILESDIR}"/dmtab
+
+ dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
+}
+
+pkg_postinst() {
+ ewarn "Make sure the \"lvm\" init script is in the runlevels:"
+ ewarn "# rc-update add lvm boot"
+ ewarn
+ ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
+ ewarn "to enable lvm autoactivation and metadata caching."
+}
+
+src_test() {
+ einfo "Tests are disabled because of device-node mucking, if you want to"
+ einfo "run tests, compile the package and see ${S}/tests"
+}
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2016-01-25 2:40 Marc Schiffbauer
0 siblings, 0 replies; 29+ messages in thread
From: Marc Schiffbauer @ 2016-01-25 2:40 UTC (permalink / raw
To: gentoo-commits
commit: 12075148731ca4a757856149001bccf4cbd60827
Author: Marc Schiffbauer <mschiff <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 25 02:40:18 2016 +0000
Commit: Marc Schiffbauer <mschiff <AT> gentoo <DOT> org>
CommitDate: Mon Jan 25 02:40:38 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=12075148
sys-fs/lvm2: Add revbumps to fix #461564
Package-Manager: portage-2.2.26
sys-fs/lvm2/files/clvmd.rc-2.02.39 | 2 +-
sys-fs/lvm2/lvm2-2.02.116-r5.ebuild | 291 ++++++++++++++++++++++++++++++++++++
sys-fs/lvm2/lvm2-2.02.136-r1.ebuild | 284 +++++++++++++++++++++++++++++++++++
sys-fs/lvm2/metadata.xml | 2 +
4 files changed, 578 insertions(+), 1 deletion(-)
diff --git a/sys-fs/lvm2/files/clvmd.rc-2.02.39 b/sys-fs/lvm2/files/clvmd.rc-2.02.39
index 5bba99a..f1c157b 100644
--- a/sys-fs/lvm2/files/clvmd.rc-2.02.39
+++ b/sys-fs/lvm2/files/clvmd.rc-2.02.39
@@ -15,7 +15,7 @@ CLVMD_PIDFILE="/var/run/clvmd.pid"
depend() {
use net dns logger dmeventd
- need cman
+ want cman corosync openais
}
load_modules() {
diff --git a/sys-fs/lvm2/lvm2-2.02.116-r5.ebuild b/sys-fs/lvm2/lvm2-2.02.116-r5.ebuild
new file mode 100644
index 0000000..ca30d98
--- /dev/null
+++ b/sys-fs/lvm2/lvm2-2.02.116-r5.ebuild
@@ -0,0 +1,291 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils linux-info multilib systemd toolchain-funcs udev flag-o-matic
+
+DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
+HOMEPAGE="https://sources.redhat.com/lvm2/"
+SRC_URI="ftp://sources.redhat.com/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
+ ftp://sources.redhat.com/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="readline static static-libs systemd clvm cman corosync lvm1 lvm2create_initrd openais selinux +udev +thin device-mapper-only"
+REQUIRED_USE="device-mapper-only? ( !clvm !cman !corosync !lvm1 !lvm2create_initrd !openais !thin )
+ systemd? ( udev )
+ clvm? ( !systemd )"
+
+DEPEND_COMMON="
+ clvm? (
+ cman? ( =sys-cluster/cman-3* )
+ corosync? ( sys-cluster/corosync )
+ openais? ( sys-cluster/openais )
+ =sys-cluster/libdlm-3*
+ )
+
+ readline? ( sys-libs/readline:0= )
+ udev? ( >=virtual/libudev-208:=[static-libs?] )"
+# /run is now required for locking during early boot. /var cannot be assumed to
+# be available -- thus, pull in recent enough baselayout for /run.
+# This version of LVM is incompatible with cryptsetup <1.1.2.
+RDEPEND="${DEPEND_COMMON}
+ >=sys-apps/baselayout-2.2
+ !<sys-apps/openrc-0.11
+ !<sys-fs/cryptsetup-1.1.2
+ !!sys-fs/clvm
+ !!sys-fs/lvm-user
+ >=sys-apps/util-linux-2.16
+ lvm2create_initrd? (
+ app-arch/cpio
+ sys-apps/makedev
+ )
+ thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
+# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
+# USE 'static' currently only works with eudev, bug 520450
+DEPEND="${DEPEND_COMMON}
+ virtual/pkgconfig
+ >=sys-devel/binutils-2.20.1-r1
+ static? (
+ selinux? ( sys-libs/libselinux[static-libs] )
+ udev? ( >=sys-fs/eudev-3.1.2[static-libs] )
+ >=sys-apps/util-linux-2.16[static-libs]
+ )"
+
+S=${WORKDIR}/${PN/lvm/LVM}.${PV}
+
+pkg_setup() {
+ local CONFIG_CHECK="~SYSVIPC"
+
+ if use udev; then
+ local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
+ if linux_config_exists; then
+ local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
+ if [ -n "${uevent_helper_path}" ] && [ "${uevent_helper_path}" != '""' ]; then
+ ewarn "It's recommended to set an empty value to the following kernel config option:"
+ ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
+ fi
+ fi
+ fi
+
+ check_extra_config
+
+ # 1. Genkernel no longer copies /sbin/lvm blindly.
+ if use static; then
+ elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
+ elog "their static versions. If you need the static binaries,"
+ elog "you must append .static to the filename!"
+ fi
+}
+
+src_prepare() {
+ # Gentoo specific modification(s):
+ epatch "${FILESDIR}"/${PN}-2.02.108-example.conf.in.patch
+
+ sed -i \
+ -e "1iAR = $(tc-getAR)" \
+ -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
+ make.tmpl.in || die #444082
+
+ sed -i -e '/FLAG/s:-O2::' configure{.in,} || die #480212
+
+ if use udev && ! use device-mapper-only; then
+ sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196
+ elog "Notice that \"use_lvmetad\" setting is enabled with USE=\"udev\" in"
+ elog "/etc/lvm/lvm.conf, which will require restart of udev, lvm, and lvmetad"
+ elog "if it was previously disabled."
+ fi
+
+ sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
+
+ # For upstream -- review and forward:
+ epatch "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
+ epatch "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
+ epatch "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
+ epatch "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
+ epatch "${FILESDIR}"/${PN}-2.02.70-asneeded.patch # -Wl,--as-needed
+ epatch "${FILESDIR}"/${PN}-2.02.92-dynamic-static-ldflags.patch #332905
+ epatch "${FILESDIR}"/${PN}-2.02.108-static-pkgconfig-libs.patch #370217, #439414 + blkid
+ epatch "${FILESDIR}"/${PN}-2.02.106-pthread-pkgconfig.patch #492450
+
+ # Without thin-privision-tools, there is nothing to install for target install_man7:
+ use thin || { sed -i -e '/^install_lvm2/s:install_man7::' man/Makefile.in || die; }
+
+ eautoreconf
+}
+
+src_configure() {
+ filter-flags -flto
+ local myconf
+ local buildmode
+
+ myconf="${myconf} $(use_enable !device-mapper-only dmeventd)"
+ myconf="${myconf} $(use_enable !device-mapper-only cmdlib)"
+ myconf="${myconf} $(use_enable !device-mapper-only applib)"
+ myconf="${myconf} $(use_enable !device-mapper-only fsadm)"
+ myconf="${myconf} $(use_enable !device-mapper-only lvmetad)"
+ use device-mapper-only && myconf="${myconf} --disable-udev-systemd-background-jobs"
+
+ # Most of this package does weird stuff.
+ # The build options are tristate, and --without is NOT supported
+ # options: 'none', 'internal', 'shared'
+ if use static; then
+ buildmode="internal"
+ # This only causes the .static versions to become available
+ myconf="${myconf} --enable-static_link"
+ else
+ buildmode="shared"
+ fi
+ dmbuildmode=$(use !device-mapper-only && echo internal || echo none)
+
+ # dmeventd requires mirrors to be internal, and snapshot available
+ # so we cannot disable them
+ myconf="${myconf} --with-mirrors=${dmbuildmode}"
+ myconf="${myconf} --with-snapshots=${dmbuildmode}"
+ if use thin; then
+ myconf="${myconf} --with-thin=internal --with-cache=internal"
+ local texec
+ for texec in check dump repair restore; do
+ myconf="${myconf} --with-thin-${texec}=${EPREFIX}/sbin/thin_${texec}"
+ myconf="${myconf} --with-cache-${texec}=${EPREFIX}/sbin/cache_${texec}"
+ done
+ else
+ myconf="${myconf} --with-thin=none --with-cache=none"
+ fi
+
+ if use lvm1; then
+ myconf="${myconf} --with-lvm1=${buildmode}"
+ else
+ myconf="${myconf} --with-lvm1=none"
+ fi
+
+ # disable O_DIRECT support on hppa, breaks pv detection (#99532)
+ use hppa && myconf="${myconf} --disable-o_direct"
+
+ if use clvm; then
+ myconf="${myconf} --with-cluster=${buildmode}"
+ # 4-state! Make sure we get it right, per bug 210879
+ # Valid options are: none, cman, gulm, all
+ #
+ # 2009/02:
+ # gulm is removed now, now dual-state:
+ # cman, none
+ # all still exists, but is not needed
+ #
+ # 2009/07:
+ # TODO: add corosync and re-enable ALL
+ local clvmd=""
+ use cman && clvmd="cman"
+ #clvmd="${clvmd/cmangulm/all}"
+ use corosync && clvmd="${clvmd:+$clvmd,}corosync"
+ use openais && clvmd="${clvmd:+$clvmd,}openais"
+ [ -z "${clvmd}" ] && clvmd="none"
+ myconf="${myconf} --with-clvmd=${clvmd}"
+ myconf="${myconf} --with-pool=${buildmode}"
+ else
+ myconf="${myconf} --with-clvmd=none --with-cluster=none"
+ fi
+
+ econf \
+ $(use_enable readline) \
+ $(use_enable selinux) \
+ --enable-pkgconfig \
+ --with-confdir="${EPREFIX}"/etc \
+ --exec-prefix="${EPREFIX}" \
+ --sbindir="${EPREFIX}/sbin" \
+ --with-staticdir="${EPREFIX}"/sbin \
+ --libdir="${EPREFIX}/$(get_libdir)" \
+ --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --with-default-dm-run-dir=/run \
+ --with-default-run-dir=/run/lvm \
+ --with-default-locking-dir=/run/lock/lvm \
+ --with-default-pid-dir=/run \
+ $(use_enable udev udev_rules) \
+ $(use_enable udev udev_sync) \
+ $(use_with udev udevdir "$(get_udevdir)"/rules.d) \
+ $(use_enable systemd udev-systemd-background-jobs) \
+ "$(systemd_with_unitdir)" \
+ ${myconf} \
+ CLDFLAGS="${LDFLAGS}"
+}
+
+src_compile() {
+ pushd include >/dev/null
+ emake
+ popd >/dev/null
+
+ if use device-mapper-only ; then
+ emake device-mapper
+ else
+ emake
+ emake CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
+ fi
+}
+
+src_install() {
+ local inst
+ INSTALL_TARGETS="install install_tmpfiles_configuration"
+ # install systemd related files only when requested, bug #522430
+ use systemd && INSTALL_TARGETS="${INSTALL_TARGETS} install_systemd_units install_systemd_generators"
+ use device-mapper-only && INSTALL_TARGETS="install_device-mapper"
+ for inst in ${INSTALL_TARGETS}; do
+ emake DESTDIR="${D}" ${inst}
+ done
+
+ newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
+ newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
+
+ if use !device-mapper-only ; then
+ newinitd "${FILESDIR}"/dmeventd.initd-2.02.67-r1 dmeventd
+ newinitd "${FILESDIR}"/lvm.rc-2.02.116-r4 lvm
+ newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm
+
+ newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
+ newinitd "${FILESDIR}"/lvmetad.initd-2.02.116-r3 lvmetad
+ fi
+
+ if use clvm; then
+ newinitd "${FILESDIR}"/clvmd.rc-2.02.39 clvmd
+ newconfd "${FILESDIR}"/clvmd.confd-2.02.39 clvmd
+ fi
+
+ if use static-libs; then
+ dolib.a libdm/ioctl/libdevmapper.a
+ dolib.a libdaemon/client/libdaemonclient.a #462908
+ #gen_usr_ldscript libdevmapper.so
+ dolib.a daemons/dmeventd/libdevmapper-event.a
+ #gen_usr_ldscript libdevmapper-event.so
+ else
+ rm -f "${ED}"usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
+ fi
+
+ if use lvm2create_initrd; then
+ dosbin scripts/lvm2create_initrd/lvm2create_initrd
+ doman scripts/lvm2create_initrd/lvm2create_initrd.8
+ newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
+ fi
+
+ insinto /etc
+ doins "${FILESDIR}"/dmtab
+
+ dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
+}
+
+pkg_postinst() {
+ ewarn "Make sure the \"lvm\" init script is in the runlevels:"
+ ewarn "# rc-update add lvm boot"
+ ewarn
+ ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
+ ewarn "to enable lvm autoactivation and metadata caching."
+ ewarn
+ ewarn "After enabling or disabling lvmetad in /etc/lvm/lvm.conf you must"
+ ewarn "run the following to update the init script dependencies: "
+ ewarn "# rc-update -u"
+}
+
+src_test() {
+ einfo "Tests are disabled because of device-node mucking, if you want to"
+ einfo "run tests, compile the package and see ${S}/tests"
+}
diff --git a/sys-fs/lvm2/lvm2-2.02.136-r1.ebuild b/sys-fs/lvm2/lvm2-2.02.136-r1.ebuild
new file mode 100644
index 0000000..506eec5
--- /dev/null
+++ b/sys-fs/lvm2/lvm2-2.02.136-r1.ebuild
@@ -0,0 +1,284 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils linux-info multilib systemd toolchain-funcs udev flag-o-matic
+
+DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
+HOMEPAGE="https://sources.redhat.com/lvm2/"
+SRC_URI="ftp://sources.redhat.com/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
+ ftp://sources.redhat.com/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="readline static static-libs systemd clvm cman corosync lvm1 lvm2create_initrd openais selinux +udev +thin device-mapper-only"
+REQUIRED_USE="device-mapper-only? ( !clvm !cman !corosync !lvm1 !lvm2create_initrd !openais !thin )
+ systemd? ( udev )
+ clvm? ( !systemd )"
+
+DEPEND_COMMON="
+ clvm? (
+ cman? ( =sys-cluster/cman-3* )
+ corosync? ( sys-cluster/corosync )
+ openais? ( sys-cluster/openais )
+ =sys-cluster/libdlm-3*
+ )
+
+ readline? ( sys-libs/readline:0= )
+ udev? ( >=virtual/libudev-208:=[static-libs?] )"
+# /run is now required for locking during early boot. /var cannot be assumed to
+# be available -- thus, pull in recent enough baselayout for /run.
+# This version of LVM is incompatible with cryptsetup <1.1.2.
+RDEPEND="${DEPEND_COMMON}
+ >=sys-apps/baselayout-2.2
+ !<sys-apps/openrc-0.11
+ !<sys-fs/cryptsetup-1.1.2
+ !!sys-fs/clvm
+ !!sys-fs/lvm-user
+ >=sys-apps/util-linux-2.16
+ lvm2create_initrd? ( sys-apps/makedev )
+ thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
+# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
+# USE 'static' currently only works with eudev, bug 520450
+DEPEND="${DEPEND_COMMON}
+ virtual/pkgconfig
+ >=sys-devel/binutils-2.20.1-r1
+ static? (
+ selinux? ( sys-libs/libselinux[static-libs] )
+ udev? ( >=sys-fs/eudev-3.1.2[static-libs] )
+ >=sys-apps/util-linux-2.16[static-libs]
+ )"
+
+S=${WORKDIR}/${PN/lvm/LVM}.${PV}
+
+pkg_setup() {
+ local CONFIG_CHECK="~SYSVIPC"
+
+ if use udev; then
+ local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
+ if linux_config_exists; then
+ local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
+ if [ -n "${uevent_helper_path}" ] && [ "${uevent_helper_path}" != '""' ]; then
+ ewarn "It's recommended to set an empty value to the following kernel config option:"
+ ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
+ fi
+ fi
+ fi
+
+ check_extra_config
+
+ # 1. Genkernel no longer copies /sbin/lvm blindly.
+ if use static; then
+ elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
+ elog "their static versions. If you need the static binaries,"
+ elog "you must append .static to the filename!"
+ fi
+}
+
+src_prepare() {
+ # Gentoo specific modification(s):
+ epatch "${FILESDIR}"/${PN}-2.02.129-example.conf.in.patch
+
+ sed -i \
+ -e "1iAR = $(tc-getAR)" \
+ -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
+ make.tmpl.in || die #444082
+
+ sed -i -e '/FLAG/s:-O2::' configure{.in,} || die #480212
+
+ if use udev && ! use device-mapper-only; then
+ sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196
+ elog "Notice that \"use_lvmetad\" setting is enabled with USE=\"udev\" in"
+ elog "/etc/lvm/lvm.conf, which will require restart of udev, lvm, and lvmetad"
+ elog "if it was previously disabled."
+ fi
+
+ sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
+
+ # For upstream -- review and forward:
+ epatch "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
+ epatch "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
+ epatch "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
+ epatch "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
+ epatch "${FILESDIR}"/${PN}-2.02.70-asneeded.patch # -Wl,--as-needed
+ epatch "${FILESDIR}"/${PN}-2.02.129-dynamic-static-ldflags.patch #332905
+ epatch "${FILESDIR}"/${PN}-2.02.129-static-pkgconfig-libs.patch #370217, #439414 + blkid
+ epatch "${FILESDIR}"/${PN}-2.02.130-pthread-pkgconfig.patch #492450
+
+ # Without thin-privision-tools, there is nothing to install for target install_man7:
+ use thin || { sed -i -e '/^install_lvm2/s:install_man7::' man/Makefile.in || die; }
+
+ eautoreconf
+}
+
+src_configure() {
+ filter-flags -flto
+ local myconf
+ local buildmode
+
+ myconf="${myconf} $(use_enable !device-mapper-only dmeventd)"
+ myconf="${myconf} $(use_enable !device-mapper-only cmdlib)"
+ myconf="${myconf} $(use_enable !device-mapper-only applib)"
+ myconf="${myconf} $(use_enable !device-mapper-only fsadm)"
+ myconf="${myconf} $(use_enable !device-mapper-only lvmetad)"
+ use device-mapper-only && myconf="${myconf} --disable-udev-systemd-background-jobs"
+
+ # Most of this package does weird stuff.
+ # The build options are tristate, and --without is NOT supported
+ # options: 'none', 'internal', 'shared'
+ if use static; then
+ buildmode="internal"
+ # This only causes the .static versions to become available
+ myconf="${myconf} --enable-static_link"
+ else
+ buildmode="shared"
+ fi
+ dmbuildmode=$(use !device-mapper-only && echo internal || echo none)
+
+ # dmeventd requires mirrors to be internal, and snapshot available
+ # so we cannot disable them
+ myconf="${myconf} --with-mirrors=${dmbuildmode}"
+ myconf="${myconf} --with-snapshots=${dmbuildmode}"
+ if use thin; then
+ myconf="${myconf} --with-thin=internal --with-cache=internal"
+ local texec
+ for texec in check dump repair restore; do
+ myconf="${myconf} --with-thin-${texec}=${EPREFIX}/sbin/thin_${texec}"
+ myconf="${myconf} --with-cache-${texec}=${EPREFIX}/sbin/cache_${texec}"
+ done
+ else
+ myconf="${myconf} --with-thin=none --with-cache=none"
+ fi
+
+ if use lvm1; then
+ myconf="${myconf} --with-lvm1=${buildmode}"
+ else
+ myconf="${myconf} --with-lvm1=none"
+ fi
+
+ # disable O_DIRECT support on hppa, breaks pv detection (#99532)
+ use hppa && myconf="${myconf} --disable-o_direct"
+
+ if use clvm; then
+ myconf="${myconf} --with-cluster=${buildmode}"
+ # 4-state! Make sure we get it right, per bug 210879
+ # Valid options are: none, cman, gulm, all
+ #
+ # 2009/02:
+ # gulm is removed now, now dual-state:
+ # cman, none
+ # all still exists, but is not needed
+ #
+ # 2009/07:
+ # TODO: add corosync and re-enable ALL
+ local clvmd=""
+ use cman && clvmd="cman"
+ #clvmd="${clvmd/cmangulm/all}"
+ use corosync && clvmd="${clvmd:+$clvmd,}corosync"
+ use openais && clvmd="${clvmd:+$clvmd,}openais"
+ [ -z "${clvmd}" ] && clvmd="none"
+ myconf="${myconf} --with-clvmd=${clvmd}"
+ myconf="${myconf} --with-pool=${buildmode}"
+ else
+ myconf="${myconf} --with-clvmd=none --with-cluster=none"
+ fi
+
+ econf \
+ $(use_enable readline) \
+ $(use_enable selinux) \
+ --enable-pkgconfig \
+ --with-confdir="${EPREFIX}"/etc \
+ --exec-prefix="${EPREFIX}" \
+ --sbindir="${EPREFIX}/sbin" \
+ --with-staticdir="${EPREFIX}"/sbin \
+ --libdir="${EPREFIX}/$(get_libdir)" \
+ --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --with-default-dm-run-dir=/run \
+ --with-default-run-dir=/run/lvm \
+ --with-default-locking-dir=/run/lock/lvm \
+ --with-default-pid-dir=/run \
+ $(use_enable udev udev_rules) \
+ $(use_enable udev udev_sync) \
+ $(use_with udev udevdir "$(get_udevdir)"/rules.d) \
+ $(use_enable systemd udev-systemd-background-jobs) \
+ "$(systemd_with_unitdir)" \
+ ${myconf} \
+ CLDFLAGS="${LDFLAGS}"
+}
+
+src_compile() {
+ pushd include >/dev/null
+ emake
+ popd >/dev/null
+
+ if use device-mapper-only ; then
+ emake device-mapper
+ else
+ emake
+ emake CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
+ fi
+}
+
+src_install() {
+ local inst
+ INSTALL_TARGETS="install install_tmpfiles_configuration"
+ # install systemd related files only when requested, bug #522430
+ use systemd && INSTALL_TARGETS="${INSTALL_TARGETS} install_systemd_units install_systemd_generators"
+ use device-mapper-only && INSTALL_TARGETS="install_device-mapper"
+ for inst in ${INSTALL_TARGETS}; do
+ emake DESTDIR="${D}" ${inst}
+ done
+
+ newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
+ newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
+
+ if use !device-mapper-only ; then
+ newinitd "${FILESDIR}"/dmeventd.initd-2.02.67-r1 dmeventd
+ newinitd "${FILESDIR}"/lvm.rc-2.02.105-r2 lvm
+ newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm
+
+ newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
+ newinitd "${FILESDIR}"/lvmetad.initd-2.02.105-r2 lvmetad
+ fi
+
+ if use clvm; then
+ newinitd "${FILESDIR}"/clvmd.rc-2.02.39 clvmd
+ newconfd "${FILESDIR}"/clvmd.confd-2.02.39 clvmd
+ fi
+
+ if use static-libs; then
+ dolib.a libdm/ioctl/libdevmapper.a
+ dolib.a libdaemon/client/libdaemonclient.a #462908
+ #gen_usr_ldscript libdevmapper.so
+ dolib.a daemons/dmeventd/libdevmapper-event.a
+ #gen_usr_ldscript libdevmapper-event.so
+ else
+ rm -f "${ED}"usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
+ fi
+
+ if use lvm2create_initrd; then
+ dosbin scripts/lvm2create_initrd/lvm2create_initrd
+ doman scripts/lvm2create_initrd/lvm2create_initrd.8
+ newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
+ fi
+
+ insinto /etc
+ doins "${FILESDIR}"/dmtab
+
+ dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
+}
+
+pkg_postinst() {
+ ewarn "Make sure the \"lvm\" init script is in the runlevels:"
+ ewarn "# rc-update add lvm boot"
+ ewarn
+ ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
+ ewarn "to enable lvm autoactivation and metadata caching."
+}
+
+src_test() {
+ einfo "Tests are disabled because of device-node mucking, if you want to"
+ einfo "run tests, compile the package and see ${S}/tests"
+}
diff --git a/sys-fs/lvm2/metadata.xml b/sys-fs/lvm2/metadata.xml
index 20a16f4..98de265 100644
--- a/sys-fs/lvm2/metadata.xml
+++ b/sys-fs/lvm2/metadata.xml
@@ -13,8 +13,10 @@
<use>
<flag name="clvm">Allow users to build clustered lvm2</flag>
<flag name="cman">Cman support for clustered lvm</flag>
+ <flag name="corosync">Corosync support for clustered lvm</flag>
<flag name="lvm1">Allow users to build lvm2 with lvm1 support</flag>
<flag name="lvm2create_initrd">Install lvm2create_initrd script and pull in <pkg>sys-apps/makedev</pkg> for the /sbin/MAKEDEV command</flag>
+ <flag name="openais">Openais support for clustered lvm</flag>
<flag name="thin">Support for thin volumes</flag>
<flag name="device-mapper-only">Build only device-mapper and not the rest of LVM2 (UNSUPPORTED)</flag>
</use>
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2016-03-09 20:12 Robin H. Johnson
0 siblings, 0 replies; 29+ messages in thread
From: Robin H. Johnson @ 2016-03-09 20:12 UTC (permalink / raw
To: gentoo-commits
commit: ba7e16f85f8a82447c425af037bcc85d9775f80d
Author: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 9 20:12:01 2016 +0000
Commit: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Wed Mar 9 20:12:01 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba7e16f8
sys-fs/lvm2: bump per bug #572352.
Package-Manager: portage-2.2.27
sys-fs/lvm2/Manifest | 2 +
.../lvm2-2.02.139-dynamic-static-ldflags.patch | 63 +++++
sys-fs/lvm2/lvm2-2.02.139.ebuild | 284 ++++++++++++++++++++
sys-fs/lvm2/lvm2-2.02.145.ebuild | 285 +++++++++++++++++++++
4 files changed, 634 insertions(+)
diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest
index 750b75a..b448852 100644
--- a/sys-fs/lvm2/Manifest
+++ b/sys-fs/lvm2/Manifest
@@ -3,3 +3,5 @@ DIST LVM2.2.02.109.tgz 1482167 SHA256 7bc95ba5209c8aa5bd492167b2e2797f156852ed11
DIST LVM2.2.02.110.tgz 1487448 SHA256 3dad1aa04a71b8420b15f44c53f041001436539d3f8073490c2d0c52f6fecd11 SHA512 5b4dfa5ed877d34efa5b109dc712e8fa9154b4954b267b0243f1925f9d2fa8c67f4ce8da36a85f3bba6c117f6153fdbf150e3753587ab90584a86d2654dc0812 WHIRLPOOL ea221ed3e9d3f79009d7c341a7a75b52eacc5be79e28f2498e7cdc0f4a97c2bebff405b032eb8086d3b5b5aaf79da2f281c5734562355bddbe6004058e114ced
DIST LVM2.2.02.116.tgz 1538340 SHA256 2479d6ea61c405efcfcd8a78390d00c1d2e9c92c0262f3ed599f2c0fb6f0b767 SHA512 992541339637d597257850b4ff7f5348fb7cdcccf806ac8d986a3be1ad1edc5f6bfaedeed5128690c541d1a485cdc75742e90a766363c39867901003518fb84d WHIRLPOOL 1e89ec941882fddba62c9649be46eb5bc6c9cb899669d4bbe4a4a1023c8bf7d8264c4815ef88bb39dedcb9637815411feb826aa102e629d77b80e45e099e398d
DIST LVM2.2.02.136.tgz 1891010 SHA256 c6af90097d8f7cd851d38c4f57bb3ad7039cfa123f1e336dba957814a298bd8c SHA512 ebda683e7dbeb2c4860a583d47e60756d18127e37a373ab2958af8e54b9bee0d2e3370b7803d88fa4b08564345c88af55bfbac317081160118ce4b3733b69f9d WHIRLPOOL 8020fdddac648e32084801ffaf9b00b8a683870c8dd8dd5969851fd081eb1efd578decd82cd4a7a24fb6150c55afafdd819a76eb7eb6926cdc057455cc1d1618
+DIST LVM2.2.02.139.tgz 1897293 SHA256 f423b1f2eee70efd671afc0982caa92e9413a582404057244021314172ec3a07 SHA512 f112207d7447606915026495b931bffc4c0d68d36b9a8792fe4b7abf8b743bc4559da5c79145cb4d457337118e60552f9df511e31f2799001d29d006f7946cc0 WHIRLPOOL 8a1ca0bb6946b1f6761223a4a9e7c5e3e5247ff4b85bc08734258f4616fbabb0ea7a3b22b4a245367997ad810b4b304b747d8da0bd128c241fbafe645855b7f9
+DIST LVM2.2.02.145.tgz 1986370 SHA256 98b7c4c07c485a462c6a86e1a5265757133ceea36289ead8a419af29ef39560b SHA512 84e28b3efc940837ea9da70fce620744aea0945ba29383b76ad7bcd4b5259b897c714162a8e8b7cfe26ae736a3ad2eca633a3e0df4d6280a32b28bd4cf472d27 WHIRLPOOL b8c6f4b737625547d4c2994d055f3334e2954f160d10840f1405b6a78f25fc17ba1d270f574408c151140e2afceb007cbfa1c146ed105bbdeca001a03368d549
diff --git a/sys-fs/lvm2/files/lvm2-2.02.139-dynamic-static-ldflags.patch b/sys-fs/lvm2/files/lvm2-2.02.139-dynamic-static-ldflags.patch
new file mode 100644
index 0000000..312e546
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.02.139-dynamic-static-ldflags.patch
@@ -0,0 +1,63 @@
+diff -ur LVM2.2.02.139_O/configure.in LVM2.2.02.139/configure.in
+--- LVM2.2.02.139_O/configure.in 2016-01-19 12:54:33.155187005 +0000
++++ LVM2.2.02.139/configure.in 2016-01-19 12:56:39.487181372 +0000
+@@ -31,6 +31,7 @@
+ linux*)
+ CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym"
+ ELDFLAGS="-Wl,--export-dynamic"
++ STATIC_LDFLAGS="-Wl,--no-export-dynamic"
+ # FIXME Generate list and use --dynamic-list=.dlopen.sym
+ CLDWHOLEARCHIVE="-Wl,-whole-archive"
+ CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive"
+@@ -2009,6 +2010,7 @@
+ AC_SUBST(SELINUX_PC)
+ AC_SUBST(SNAPSHOTS)
+ AC_SUBST(STATICDIR)
++AC_SUBST(STATIC_LDFLAGS)
+ AC_SUBST(STATIC_LINK)
+ AC_SUBST(TESTING)
+ AC_SUBST(TESTSUITE_DATA)
+diff -ur LVM2.2.02.139_O/daemons/dmeventd/Makefile.in LVM2.2.02.139/daemons/dmeventd/Makefile.in
+--- LVM2.2.02.139_O/daemons/dmeventd/Makefile.in 2016-01-19 12:54:33.278186999 +0000
++++ LVM2.2.02.139/daemons/dmeventd/Makefile.in 2016-01-19 12:57:44.277178484 +0000
+@@ -67,7 +67,7 @@
+ $(DL_LIBS) $(LVMLIBS) $(LIBS) -rdynamic
+
+ dmeventd.static: $(LIB_STATIC) dmeventd.o $(interfacebuilddir)/libdevmapper.a
+- $(CC) $(CFLAGS) $(LDFLAGS) $(ELDFLAGS) -static -L. -L$(interfacebuilddir) -o $@ \
++ $(CC) $(CFLAGS) $(LDFLAGS) $(ELDFLAGS) $(STATIC_LDFLAGS) -static -L. -L$(interfacebuilddir) -o $@ \
+ dmeventd.o $(DL_LIBS) $(LVMLIBS) $(LIBS) $(STATIC_LIBS)
+
+ ifeq ("@PKGCONFIG@", "yes")
+diff -ur LVM2.2.02.139_O/make.tmpl.in LVM2.2.02.139/make.tmpl.in
+--- LVM2.2.02.139_O/make.tmpl.in 2016-01-19 12:54:33.529186988 +0000
++++ LVM2.2.02.139/make.tmpl.in 2016-01-19 12:58:31.514176378 +0000
+@@ -49,6 +49,7 @@
+ # FIXME set this only where it's needed, not globally?
+ CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
+ LDFLAGS ?= @COPTIMISE_FLAG@ @LDFLAGS@
++STATIC_LDFLAGS += @STATIC_LDFLAGS@
+ CLDFLAGS += @CLDFLAGS@
+ ELDFLAGS += @ELDFLAGS@
+ LDDEPS += @LDDEPS@
+diff -ur LVM2.2.02.139_O/tools/Makefile.in LVM2.2.02.139/tools/Makefile.in
+--- LVM2.2.02.139_O/tools/Makefile.in 2016-01-08 18:51:21.000000000 +0000
++++ LVM2.2.02.139/tools/Makefile.in 2016-01-19 13:00:08.349172060 +0000
+@@ -129,7 +129,7 @@
+ -o $@ dmsetup.o -ldevmapper $(LIBS)
+
+ dmsetup.static: dmsetup.o $(interfacebuilddir)/libdevmapper.a
+- $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) \
++ $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) \
+ -o $@ dmsetup.o -ldevmapper $(M_LIBS) $(PTHREAD_LIBS) $(STATIC_LIBS) $(LIBS)
+
+ all: device-mapper
+@@ -146,7 +146,7 @@
+ endif
+
+ lvm.static: $(OBJECTS) lvm-static.o $(top_builddir)/lib/liblvm-internal.a $(interfacebuilddir)/libdevmapper.a
+- $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) -o $@ \
++ $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) -o $@ \
+ $(OBJECTS) lvm-static.o $(LVMLIBS) $(STATIC_LIBS) $(LIBS)
+
+ liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
diff --git a/sys-fs/lvm2/lvm2-2.02.139.ebuild b/sys-fs/lvm2/lvm2-2.02.139.ebuild
new file mode 100644
index 0000000..d975343
--- /dev/null
+++ b/sys-fs/lvm2/lvm2-2.02.139.ebuild
@@ -0,0 +1,284 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils linux-info multilib systemd toolchain-funcs udev flag-o-matic
+
+DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
+HOMEPAGE="https://sources.redhat.com/lvm2/"
+SRC_URI="ftp://sources.redhat.com/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
+ ftp://sources.redhat.com/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="readline static static-libs systemd clvm cman corosync lvm1 lvm2create_initrd openais selinux +udev +thin device-mapper-only"
+REQUIRED_USE="device-mapper-only? ( !clvm !cman !corosync !lvm1 !lvm2create_initrd !openais !thin )
+ systemd? ( udev )
+ clvm? ( !systemd )"
+
+DEPEND_COMMON="
+ clvm? (
+ cman? ( =sys-cluster/cman-3* )
+ corosync? ( sys-cluster/corosync )
+ openais? ( sys-cluster/openais )
+ =sys-cluster/libdlm-3*
+ )
+
+ readline? ( sys-libs/readline:0= )
+ udev? ( >=virtual/libudev-208:=[static-libs?] )"
+# /run is now required for locking during early boot. /var cannot be assumed to
+# be available -- thus, pull in recent enough baselayout for /run.
+# This version of LVM is incompatible with cryptsetup <1.1.2.
+RDEPEND="${DEPEND_COMMON}
+ >=sys-apps/baselayout-2.2
+ !<sys-apps/openrc-0.11
+ !<sys-fs/cryptsetup-1.1.2
+ !!sys-fs/clvm
+ !!sys-fs/lvm-user
+ >=sys-apps/util-linux-2.16
+ lvm2create_initrd? ( sys-apps/makedev )
+ thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
+# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
+# USE 'static' currently only works with eudev, bug 520450
+DEPEND="${DEPEND_COMMON}
+ virtual/pkgconfig
+ >=sys-devel/binutils-2.20.1-r1
+ static? (
+ selinux? ( sys-libs/libselinux[static-libs] )
+ udev? ( >=sys-fs/eudev-3.1.2[static-libs] )
+ >=sys-apps/util-linux-2.16[static-libs]
+ )"
+
+S=${WORKDIR}/${PN/lvm/LVM}.${PV}
+
+pkg_setup() {
+ local CONFIG_CHECK="~SYSVIPC"
+
+ if use udev; then
+ local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
+ if linux_config_exists; then
+ local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
+ if [ -n "${uevent_helper_path}" ] && [ "${uevent_helper_path}" != '""' ]; then
+ ewarn "It's recommended to set an empty value to the following kernel config option:"
+ ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
+ fi
+ fi
+ fi
+
+ check_extra_config
+
+ # 1. Genkernel no longer copies /sbin/lvm blindly.
+ if use static; then
+ elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
+ elog "their static versions. If you need the static binaries,"
+ elog "you must append .static to the filename!"
+ fi
+}
+
+src_prepare() {
+ # Gentoo specific modification(s):
+ epatch "${FILESDIR}"/${PN}-2.02.129-example.conf.in.patch
+
+ sed -i \
+ -e "1iAR = $(tc-getAR)" \
+ -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
+ make.tmpl.in || die #444082
+
+ sed -i -e '/FLAG/s:-O2::' configure{.in,} || die #480212
+
+ if use udev && ! use device-mapper-only; then
+ sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196
+ elog "Notice that \"use_lvmetad\" setting is enabled with USE=\"udev\" in"
+ elog "/etc/lvm/lvm.conf, which will require restart of udev, lvm, and lvmetad"
+ elog "if it was previously disabled."
+ fi
+
+ sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
+
+ # For upstream -- review and forward:
+ epatch "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
+ epatch "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
+ epatch "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
+ epatch "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
+ epatch "${FILESDIR}"/${PN}-2.02.70-asneeded.patch # -Wl,--as-needed
+ epatch "${FILESDIR}"/${PN}-2.02.139-dynamic-static-ldflags.patch #332905
+ epatch "${FILESDIR}"/${PN}-2.02.129-static-pkgconfig-libs.patch #370217, #439414 + blkid
+ epatch "${FILESDIR}"/${PN}-2.02.130-pthread-pkgconfig.patch #492450
+
+ # Without thin-privision-tools, there is nothing to install for target install_man7:
+ use thin || { sed -i -e '/^install_lvm2/s:install_man7::' man/Makefile.in || die; }
+
+ eautoreconf
+}
+
+src_configure() {
+ filter-flags -flto
+ local myconf
+ local buildmode
+
+ myconf="${myconf} $(use_enable !device-mapper-only dmeventd)"
+ myconf="${myconf} $(use_enable !device-mapper-only cmdlib)"
+ myconf="${myconf} $(use_enable !device-mapper-only applib)"
+ myconf="${myconf} $(use_enable !device-mapper-only fsadm)"
+ myconf="${myconf} $(use_enable !device-mapper-only lvmetad)"
+ use device-mapper-only && myconf="${myconf} --disable-udev-systemd-background-jobs"
+
+ # Most of this package does weird stuff.
+ # The build options are tristate, and --without is NOT supported
+ # options: 'none', 'internal', 'shared'
+ if use static; then
+ buildmode="internal"
+ # This only causes the .static versions to become available
+ myconf="${myconf} --enable-static_link"
+ else
+ buildmode="shared"
+ fi
+ dmbuildmode=$(use !device-mapper-only && echo internal || echo none)
+
+ # dmeventd requires mirrors to be internal, and snapshot available
+ # so we cannot disable them
+ myconf="${myconf} --with-mirrors=${dmbuildmode}"
+ myconf="${myconf} --with-snapshots=${dmbuildmode}"
+ if use thin; then
+ myconf="${myconf} --with-thin=internal --with-cache=internal"
+ local texec
+ for texec in check dump repair restore; do
+ myconf="${myconf} --with-thin-${texec}=${EPREFIX}/sbin/thin_${texec}"
+ myconf="${myconf} --with-cache-${texec}=${EPREFIX}/sbin/cache_${texec}"
+ done
+ else
+ myconf="${myconf} --with-thin=none --with-cache=none"
+ fi
+
+ if use lvm1; then
+ myconf="${myconf} --with-lvm1=${buildmode}"
+ else
+ myconf="${myconf} --with-lvm1=none"
+ fi
+
+ # disable O_DIRECT support on hppa, breaks pv detection (#99532)
+ use hppa && myconf="${myconf} --disable-o_direct"
+
+ if use clvm; then
+ myconf="${myconf} --with-cluster=${buildmode}"
+ # 4-state! Make sure we get it right, per bug 210879
+ # Valid options are: none, cman, gulm, all
+ #
+ # 2009/02:
+ # gulm is removed now, now dual-state:
+ # cman, none
+ # all still exists, but is not needed
+ #
+ # 2009/07:
+ # TODO: add corosync and re-enable ALL
+ local clvmd=""
+ use cman && clvmd="cman"
+ #clvmd="${clvmd/cmangulm/all}"
+ use corosync && clvmd="${clvmd:+$clvmd,}corosync"
+ use openais && clvmd="${clvmd:+$clvmd,}openais"
+ [ -z "${clvmd}" ] && clvmd="none"
+ myconf="${myconf} --with-clvmd=${clvmd}"
+ myconf="${myconf} --with-pool=${buildmode}"
+ else
+ myconf="${myconf} --with-clvmd=none --with-cluster=none"
+ fi
+
+ econf \
+ $(use_enable readline) \
+ $(use_enable selinux) \
+ --enable-pkgconfig \
+ --with-confdir="${EPREFIX}"/etc \
+ --exec-prefix="${EPREFIX}" \
+ --sbindir="${EPREFIX}/sbin" \
+ --with-staticdir="${EPREFIX}"/sbin \
+ --libdir="${EPREFIX}/$(get_libdir)" \
+ --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --with-default-dm-run-dir=/run \
+ --with-default-run-dir=/run/lvm \
+ --with-default-locking-dir=/run/lock/lvm \
+ --with-default-pid-dir=/run \
+ $(use_enable udev udev_rules) \
+ $(use_enable udev udev_sync) \
+ $(use_with udev udevdir "$(get_udevdir)"/rules.d) \
+ $(use_enable systemd udev-systemd-background-jobs) \
+ "$(systemd_with_unitdir)" \
+ ${myconf} \
+ CLDFLAGS="${LDFLAGS}"
+}
+
+src_compile() {
+ pushd include >/dev/null
+ emake
+ popd >/dev/null
+
+ if use device-mapper-only ; then
+ emake device-mapper
+ else
+ emake
+ emake CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
+ fi
+}
+
+src_install() {
+ local inst
+ INSTALL_TARGETS="install install_tmpfiles_configuration"
+ # install systemd related files only when requested, bug #522430
+ use systemd && INSTALL_TARGETS="${INSTALL_TARGETS} install_systemd_units install_systemd_generators"
+ use device-mapper-only && INSTALL_TARGETS="install_device-mapper"
+ for inst in ${INSTALL_TARGETS}; do
+ emake DESTDIR="${D}" ${inst}
+ done
+
+ newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
+ newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
+
+ if use !device-mapper-only ; then
+ newinitd "${FILESDIR}"/dmeventd.initd-2.02.67-r1 dmeventd
+ newinitd "${FILESDIR}"/lvm.rc-2.02.105-r2 lvm
+ newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm
+
+ newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
+ newinitd "${FILESDIR}"/lvmetad.initd-2.02.105-r2 lvmetad
+ fi
+
+ if use clvm; then
+ newinitd "${FILESDIR}"/clvmd.rc-2.02.39 clvmd
+ newconfd "${FILESDIR}"/clvmd.confd-2.02.39 clvmd
+ fi
+
+ if use static-libs; then
+ dolib.a libdm/ioctl/libdevmapper.a
+ dolib.a libdaemon/client/libdaemonclient.a #462908
+ #gen_usr_ldscript libdevmapper.so
+ dolib.a daemons/dmeventd/libdevmapper-event.a
+ #gen_usr_ldscript libdevmapper-event.so
+ else
+ rm -f "${ED}"usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
+ fi
+
+ if use lvm2create_initrd; then
+ dosbin scripts/lvm2create_initrd/lvm2create_initrd
+ doman scripts/lvm2create_initrd/lvm2create_initrd.8
+ newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
+ fi
+
+ insinto /etc
+ doins "${FILESDIR}"/dmtab
+
+ dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
+}
+
+pkg_postinst() {
+ ewarn "Make sure the \"lvm\" init script is in the runlevels:"
+ ewarn "# rc-update add lvm boot"
+ ewarn
+ ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
+ ewarn "to enable lvm autoactivation and metadata caching."
+}
+
+src_test() {
+ einfo "Tests are disabled because of device-node mucking, if you want to"
+ einfo "run tests, compile the package and see ${S}/tests"
+}
diff --git a/sys-fs/lvm2/lvm2-2.02.145.ebuild b/sys-fs/lvm2/lvm2-2.02.145.ebuild
new file mode 100644
index 0000000..1d68e30
--- /dev/null
+++ b/sys-fs/lvm2/lvm2-2.02.145.ebuild
@@ -0,0 +1,285 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils linux-info multilib systemd toolchain-funcs udev flag-o-matic
+
+DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
+HOMEPAGE="https://sources.redhat.com/lvm2/"
+SRC_URI="ftp://sources.redhat.com/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
+ ftp://sources.redhat.com/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="readline static static-libs systemd clvm cman corosync lvm1 lvm2create_initrd openais selinux +udev +thin device-mapper-only"
+REQUIRED_USE="device-mapper-only? ( !clvm !cman !corosync !lvm1 !lvm2create_initrd !openais !thin )
+ systemd? ( udev )
+ clvm? ( !systemd )"
+
+DEPEND_COMMON="
+ clvm? (
+ cman? ( =sys-cluster/cman-3* )
+ corosync? ( sys-cluster/corosync )
+ openais? ( sys-cluster/openais )
+ =sys-cluster/libdlm-3*
+ )
+
+ readline? ( sys-libs/readline:0= )
+ udev? ( >=virtual/libudev-208:=[static-libs?] )"
+# /run is now required for locking during early boot. /var cannot be assumed to
+# be available -- thus, pull in recent enough baselayout for /run.
+# This version of LVM is incompatible with cryptsetup <1.1.2.
+RDEPEND="${DEPEND_COMMON}
+ >=sys-apps/baselayout-2.2
+ !<sys-apps/openrc-0.11
+ !<sys-fs/cryptsetup-1.1.2
+ !!sys-fs/clvm
+ !!sys-fs/lvm-user
+ >=sys-apps/util-linux-2.16
+ lvm2create_initrd? ( sys-apps/makedev )
+ thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
+# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
+# USE 'static' currently only works with eudev, bug 520450
+DEPEND="${DEPEND_COMMON}
+ virtual/pkgconfig
+ >=sys-devel/binutils-2.20.1-r1
+ sys-devel/autoconf-archive
+ static? (
+ selinux? ( sys-libs/libselinux[static-libs] )
+ udev? ( >=sys-fs/eudev-3.1.2[static-libs] )
+ >=sys-apps/util-linux-2.16[static-libs]
+ )"
+
+S=${WORKDIR}/${PN/lvm/LVM}.${PV}
+
+pkg_setup() {
+ local CONFIG_CHECK="~SYSVIPC"
+
+ if use udev; then
+ local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
+ if linux_config_exists; then
+ local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
+ if [ -n "${uevent_helper_path}" ] && [ "${uevent_helper_path}" != '""' ]; then
+ ewarn "It's recommended to set an empty value to the following kernel config option:"
+ ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
+ fi
+ fi
+ fi
+
+ check_extra_config
+
+ # 1. Genkernel no longer copies /sbin/lvm blindly.
+ if use static; then
+ elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
+ elog "their static versions. If you need the static binaries,"
+ elog "you must append .static to the filename!"
+ fi
+}
+
+src_prepare() {
+ # Gentoo specific modification(s):
+ epatch "${FILESDIR}"/${PN}-2.02.129-example.conf.in.patch
+
+ sed -i \
+ -e "1iAR = $(tc-getAR)" \
+ -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
+ make.tmpl.in || die #444082
+
+ sed -i -e '/FLAG/s:-O2::' configure{.in,} || die #480212
+
+ if use udev && ! use device-mapper-only; then
+ sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196
+ elog "Notice that \"use_lvmetad\" setting is enabled with USE=\"udev\" in"
+ elog "/etc/lvm/lvm.conf, which will require restart of udev, lvm, and lvmetad"
+ elog "if it was previously disabled."
+ fi
+
+ sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
+
+ # For upstream -- review and forward:
+ epatch "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
+ epatch "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
+ epatch "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
+ epatch "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
+ epatch "${FILESDIR}"/${PN}-2.02.70-asneeded.patch # -Wl,--as-needed
+ epatch "${FILESDIR}"/${PN}-2.02.139-dynamic-static-ldflags.patch #332905
+ epatch "${FILESDIR}"/${PN}-2.02.129-static-pkgconfig-libs.patch #370217, #439414 + blkid
+ epatch "${FILESDIR}"/${PN}-2.02.130-pthread-pkgconfig.patch #492450
+
+ # Without thin-privision-tools, there is nothing to install for target install_man7:
+ use thin || { sed -i -e '/^install_lvm2/s:install_man7::' man/Makefile.in || die; }
+
+ eautoreconf
+}
+
+src_configure() {
+ filter-flags -flto
+ local myconf
+ local buildmode
+
+ myconf="${myconf} $(use_enable !device-mapper-only dmeventd)"
+ myconf="${myconf} $(use_enable !device-mapper-only cmdlib)"
+ myconf="${myconf} $(use_enable !device-mapper-only applib)"
+ myconf="${myconf} $(use_enable !device-mapper-only fsadm)"
+ myconf="${myconf} $(use_enable !device-mapper-only lvmetad)"
+ use device-mapper-only && myconf="${myconf} --disable-udev-systemd-background-jobs"
+
+ # Most of this package does weird stuff.
+ # The build options are tristate, and --without is NOT supported
+ # options: 'none', 'internal', 'shared'
+ if use static; then
+ buildmode="internal"
+ # This only causes the .static versions to become available
+ myconf="${myconf} --enable-static_link"
+ else
+ buildmode="shared"
+ fi
+ dmbuildmode=$(use !device-mapper-only && echo internal || echo none)
+
+ # dmeventd requires mirrors to be internal, and snapshot available
+ # so we cannot disable them
+ myconf="${myconf} --with-mirrors=${dmbuildmode}"
+ myconf="${myconf} --with-snapshots=${dmbuildmode}"
+ if use thin; then
+ myconf="${myconf} --with-thin=internal --with-cache=internal"
+ local texec
+ for texec in check dump repair restore; do
+ myconf="${myconf} --with-thin-${texec}=${EPREFIX}/sbin/thin_${texec}"
+ myconf="${myconf} --with-cache-${texec}=${EPREFIX}/sbin/cache_${texec}"
+ done
+ else
+ myconf="${myconf} --with-thin=none --with-cache=none"
+ fi
+
+ if use lvm1; then
+ myconf="${myconf} --with-lvm1=${buildmode}"
+ else
+ myconf="${myconf} --with-lvm1=none"
+ fi
+
+ # disable O_DIRECT support on hppa, breaks pv detection (#99532)
+ use hppa && myconf="${myconf} --disable-o_direct"
+
+ if use clvm; then
+ myconf="${myconf} --with-cluster=${buildmode}"
+ # 4-state! Make sure we get it right, per bug 210879
+ # Valid options are: none, cman, gulm, all
+ #
+ # 2009/02:
+ # gulm is removed now, now dual-state:
+ # cman, none
+ # all still exists, but is not needed
+ #
+ # 2009/07:
+ # TODO: add corosync and re-enable ALL
+ local clvmd=""
+ use cman && clvmd="cman"
+ #clvmd="${clvmd/cmangulm/all}"
+ use corosync && clvmd="${clvmd:+$clvmd,}corosync"
+ use openais && clvmd="${clvmd:+$clvmd,}openais"
+ [ -z "${clvmd}" ] && clvmd="none"
+ myconf="${myconf} --with-clvmd=${clvmd}"
+ myconf="${myconf} --with-pool=${buildmode}"
+ else
+ myconf="${myconf} --with-clvmd=none --with-cluster=none"
+ fi
+
+ econf \
+ $(use_enable readline) \
+ $(use_enable selinux) \
+ --enable-pkgconfig \
+ --with-confdir="${EPREFIX}"/etc \
+ --exec-prefix="${EPREFIX}" \
+ --sbindir="${EPREFIX}/sbin" \
+ --with-staticdir="${EPREFIX}"/sbin \
+ --libdir="${EPREFIX}/$(get_libdir)" \
+ --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --with-default-dm-run-dir=/run \
+ --with-default-run-dir=/run/lvm \
+ --with-default-locking-dir=/run/lock/lvm \
+ --with-default-pid-dir=/run \
+ $(use_enable udev udev_rules) \
+ $(use_enable udev udev_sync) \
+ $(use_with udev udevdir "$(get_udevdir)"/rules.d) \
+ $(use_enable systemd udev-systemd-background-jobs) \
+ "$(systemd_with_unitdir)" \
+ ${myconf} \
+ CLDFLAGS="${LDFLAGS}"
+}
+
+src_compile() {
+ pushd include >/dev/null
+ emake
+ popd >/dev/null
+
+ if use device-mapper-only ; then
+ emake device-mapper
+ else
+ emake
+ emake CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
+ fi
+}
+
+src_install() {
+ local inst
+ INSTALL_TARGETS="install install_tmpfiles_configuration"
+ # install systemd related files only when requested, bug #522430
+ use systemd && INSTALL_TARGETS="${INSTALL_TARGETS} install_systemd_units install_systemd_generators"
+ use device-mapper-only && INSTALL_TARGETS="install_device-mapper"
+ for inst in ${INSTALL_TARGETS}; do
+ emake DESTDIR="${D}" ${inst}
+ done
+
+ newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
+ newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
+
+ if use !device-mapper-only ; then
+ newinitd "${FILESDIR}"/dmeventd.initd-2.02.67-r1 dmeventd
+ newinitd "${FILESDIR}"/lvm.rc-2.02.105-r2 lvm
+ newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm
+
+ newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
+ newinitd "${FILESDIR}"/lvmetad.initd-2.02.105-r2 lvmetad
+ fi
+
+ if use clvm; then
+ newinitd "${FILESDIR}"/clvmd.rc-2.02.39 clvmd
+ newconfd "${FILESDIR}"/clvmd.confd-2.02.39 clvmd
+ fi
+
+ if use static-libs; then
+ dolib.a libdm/ioctl/libdevmapper.a
+ dolib.a libdaemon/client/libdaemonclient.a #462908
+ #gen_usr_ldscript libdevmapper.so
+ dolib.a daemons/dmeventd/libdevmapper-event.a
+ #gen_usr_ldscript libdevmapper-event.so
+ else
+ rm -f "${ED}"usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
+ fi
+
+ if use lvm2create_initrd; then
+ dosbin scripts/lvm2create_initrd/lvm2create_initrd
+ doman scripts/lvm2create_initrd/lvm2create_initrd.8
+ newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
+ fi
+
+ insinto /etc
+ doins "${FILESDIR}"/dmtab
+
+ dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
+}
+
+pkg_postinst() {
+ ewarn "Make sure the \"lvm\" init script is in the runlevels:"
+ ewarn "# rc-update add lvm boot"
+ ewarn
+ ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
+ ewarn "to enable lvm autoactivation and metadata caching."
+}
+
+src_test() {
+ einfo "Tests are disabled because of device-node mucking, if you want to"
+ einfo "run tests, compile the package and see ${S}/tests"
+}
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2016-04-02 5:07 Mike Frysinger
0 siblings, 0 replies; 29+ messages in thread
From: Mike Frysinger @ 2016-04-02 5:07 UTC (permalink / raw
To: gentoo-commits
commit: 470db86bf35977a176324617aec54eb36b625921
Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 2 05:06:37 2016 +0000
Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Sat Apr 2 05:06:37 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=470db86b
sys-fs/lvm2: drop old <2.02.116 versions
sys-fs/lvm2/Manifest | 3 -
sys-fs/lvm2/files/device-mapper.rc-2.02.95-r2 | 111 ---------
sys-fs/lvm2/files/lvm-monitoring.initd-2.02.67-r2 | 46 ----
sys-fs/lvm2/files/lvm.rc-2.02.95-r2 | 96 --------
.../lvm2-2.02.100-selinux_and_udev_static.patch | 93 -------
.../lvm2-2.02.107-static-pkgconfig-libs.patch | 104 --------
.../lvm2/files/lvm2-2.02.99-example.conf.in.patch | 47 ----
sys-fs/lvm2/lvm2-2.02.103.ebuild | 235 ------------------
sys-fs/lvm2/lvm2-2.02.109-r1.ebuild | 270 --------------------
sys-fs/lvm2/lvm2-2.02.109.ebuild | 269 --------------------
sys-fs/lvm2/lvm2-2.02.110.ebuild | 272 ---------------------
11 files changed, 1546 deletions(-)
diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest
index b448852..3ff8f23 100644
--- a/sys-fs/lvm2/Manifest
+++ b/sys-fs/lvm2/Manifest
@@ -1,6 +1,3 @@
-DIST LVM2.2.02.103.tgz 1343887 SHA256 71c5a2e8842ed2f13f52e02b44eb183110a3410dedd1e117348e4eecc29d3c2a SHA512 1a9920947312e3e248bff7ff5d5eb54dec3f3b05eb3388fa92f95369b26ae8e6838186f87d817b09e8c635ddc3cdf51bc1d07c2a9d65fd7eab33598998bb7afe WHIRLPOOL de96dd8b7fb46ec777f34169759852ee5ef03ccdc93e110bf63c92dddb9cf4f805635444ceeead6b581610d2a23217d3b4729c286f016623f73b99c0b35a42a0
-DIST LVM2.2.02.109.tgz 1482167 SHA256 7bc95ba5209c8aa5bd492167b2e2797f156852ed11cfc63fb783070ade8e65e7 SHA512 210645cccf297112ffdbc63e0336385c31b2d17d226ae10813ba8ffd4f01ce07af44a4134e60644283e4360e10e925113e867378502ae0166f3fc91258caea68 WHIRLPOOL 7f2d91446f502440b2ed73df0f2ce29069364bbb198e675223b61c17e5cc6e1c162ce60a977cb07b71e44d672c688bbbf0247380f1b9c5adf325cf324f4c4bb7
-DIST LVM2.2.02.110.tgz 1487448 SHA256 3dad1aa04a71b8420b15f44c53f041001436539d3f8073490c2d0c52f6fecd11 SHA512 5b4dfa5ed877d34efa5b109dc712e8fa9154b4954b267b0243f1925f9d2fa8c67f4ce8da36a85f3bba6c117f6153fdbf150e3753587ab90584a86d2654dc0812 WHIRLPOOL ea221ed3e9d3f79009d7c341a7a75b52eacc5be79e28f2498e7cdc0f4a97c2bebff405b032eb8086d3b5b5aaf79da2f281c5734562355bddbe6004058e114ced
DIST LVM2.2.02.116.tgz 1538340 SHA256 2479d6ea61c405efcfcd8a78390d00c1d2e9c92c0262f3ed599f2c0fb6f0b767 SHA512 992541339637d597257850b4ff7f5348fb7cdcccf806ac8d986a3be1ad1edc5f6bfaedeed5128690c541d1a485cdc75742e90a766363c39867901003518fb84d WHIRLPOOL 1e89ec941882fddba62c9649be46eb5bc6c9cb899669d4bbe4a4a1023c8bf7d8264c4815ef88bb39dedcb9637815411feb826aa102e629d77b80e45e099e398d
DIST LVM2.2.02.136.tgz 1891010 SHA256 c6af90097d8f7cd851d38c4f57bb3ad7039cfa123f1e336dba957814a298bd8c SHA512 ebda683e7dbeb2c4860a583d47e60756d18127e37a373ab2958af8e54b9bee0d2e3370b7803d88fa4b08564345c88af55bfbac317081160118ce4b3733b69f9d WHIRLPOOL 8020fdddac648e32084801ffaf9b00b8a683870c8dd8dd5969851fd081eb1efd578decd82cd4a7a24fb6150c55afafdd819a76eb7eb6926cdc057455cc1d1618
DIST LVM2.2.02.139.tgz 1897293 SHA256 f423b1f2eee70efd671afc0982caa92e9413a582404057244021314172ec3a07 SHA512 f112207d7447606915026495b931bffc4c0d68d36b9a8792fe4b7abf8b743bc4559da5c79145cb4d457337118e60552f9df511e31f2799001d29d006f7946cc0 WHIRLPOOL 8a1ca0bb6946b1f6761223a4a9e7c5e3e5247ff4b85bc08734258f4616fbabb0ea7a3b22b4a245367997ad810b4b304b747d8da0bd128c241fbafe645855b7f9
diff --git a/sys-fs/lvm2/files/device-mapper.rc-2.02.95-r2 b/sys-fs/lvm2/files/device-mapper.rc-2.02.95-r2
deleted file mode 100644
index 4cd506a..0000000
--- a/sys-fs/lvm2/files/device-mapper.rc-2.02.95-r2
+++ /dev/null
@@ -1,111 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-depend() {
- # As of .67-r1, we call ALL lvm start/stop scripts with --sysinit, that
- # means dmeventd is NOT notified, as it cannot be safely running
- before dmeventd checkfs fsck
- after modules
-}
-
-dm_in_proc() {
- local retval=0
- for x in devices misc ; do
- grep -qs 'device-mapper' /proc/${x}
- retval=$((${retval} + $?))
- done
- return ${retval}
-}
-
-# char **get_new_dm_volumes(void)
-#
-# Return dmsetup commands to setup volumes
-get_new_dm_volumes() {
- local volume params
-
- # Filter comments and blank lines
- grep -v -e '^[[:space:]]*\(#\|$\)' /etc/dmtab | \
- while read volume params ; do
- # If it exists, skip it
- dmvolume_exists "${volume%:}" && continue
- # Assemble the command to run to create volume
- echo "echo ${params} | /sbin/dmsetup create ${volume%:}"
- done
-
- return 0
-}
-
-# int dmvolume_exists(volume)
-#
-# Return true if volume exists in DM table
-dmvolume_exists() {
- local x line volume=$1
-
- [ -z "${volume}" ] && return 1
-
- /sbin/dmsetup ls 2>/dev/null | \
- while read line ; do
- for x in ${line} ; do
- # the following conditonal return only breaks out
- # of the while loop, as it is running in a pipe.
- [ "${x}" = "${volume}" ] && return 1
- # We only want to check the volume name
- break
- done
- done
-
- # if 1 was returned from the above loop, then indicate that
- # volume exists
- [ $? = 1 ] && return 0
-
- # otherwise the loop exited normally and the volume does not
- # exist
- return 1
-}
-
-# int is_empty_dm_volume(volume)
-#
-# Return true if the volume exists in DM table, but is empty/non-valid
-is_empty_dm_volume() {
- local table volume=$1
-
- set -- $(/sbin/dmsetup table 2>/dev/null | grep -e "^${volume}:")
- [ "${volume}" = "$1" -a -z "$2" ]
-}
-
-
-start() {
- if [ -e /proc/modules ] && ! dm_in_proc ; then
- modprobe dm-mod 2>/dev/null
- fi
- # Ensure the dirs exist for locking and running
- checkpath -q -d -m 0700 -o root:root /run/lvm /run/lock/lvm
-
- local x volume
-
- if [ -x /sbin/dmsetup -a -c /dev/mapper/control -a -f /etc/dmtab ] ; then
- [ -n "$(get_new_dm_volumes)" ] && \
- einfo " Setting up device-mapper volumes:"
-
- get_new_dm_volumes | \
- while read x ; do
- [ -n "${x}" ] || continue
-
- volume="${x##* }"
-
- ebegin " Creating volume: ${volume}"
- if ! eval "${x}" >/dev/null 2>/dev/null ; then
- eend 1 " Error creating volume: ${volume}"
- # dmsetup still adds an empty volume in some cases,
- # so lets remove it
- is_empty_dm_volume "${volume}" && \
- /sbin/dmsetup remove "${volume}" 2>/dev/null
- else
- eend 0
- fi
- done
- fi
-}
-
diff --git a/sys-fs/lvm2/files/lvm-monitoring.initd-2.02.67-r2 b/sys-fs/lvm2/files/lvm-monitoring.initd-2.02.67-r2
deleted file mode 100644
index 2a96706..0000000
--- a/sys-fs/lvm2/files/lvm-monitoring.initd-2.02.67-r2
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-# This script is based on upstream file
-# LVM2.2.02.67/scripts/lvm2_monitoring_init_red_hat.in
-
-depend() {
- # As of .67-r1, we call ALL lvm start/stop scripts with --sysinit, that
- # means dmeventd is NOT notified, as it cannot be safely running
- need lvm dmeventd
-}
-
-VGCHANGE=/sbin/vgchange
-VGS=/sbin/vgs
-
-start() {
- ret=0
- # TODO do we want to separate out already active groups only?
- VGSLIST=`$VGS --noheadings -o name 2> /dev/null`
- for vg in $VGSLIST
- do
- ebegin "Starting LVM monitoring for VG $vg:"
- $VGCHANGE --monitor y --poll y $vg
- ret2=$?
- eend $ret2
- [ $ret2 -ne 0 ] && ret=$ret2
- done
- return $ret
-}
-
-stop() {
- ret=0
- # TODO do we want to separate out already active groups only?
- VGSLIST=`$VGS --noheadings -o name 2> /dev/null`
- for vg in $VGSLIST
- do
- ebegin "Stopping LVM monitoring for VG $vg:"
- $VGCHANGE --monitor n $vg
- ret2=$?
- eend $ret2
- [ $ret2 -ne 0 ] && ret=$ret2
- done
- return $ret
-}
diff --git a/sys-fs/lvm2/files/lvm.rc-2.02.95-r2 b/sys-fs/lvm2/files/lvm.rc-2.02.95-r2
deleted file mode 100644
index d0d9e31..0000000
--- a/sys-fs/lvm2/files/lvm.rc-2.02.95-r2
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-depend() {
- use dmeventd
- before checkfs fsck
- after dmeventd modules device-mapper
-}
-
-config='global { locking_dir = "/run/lock/lvm" }'
-
-dm_in_proc() {
- local retval=0
- for x in devices misc ; do
- grep -qs 'device-mapper' /proc/${x}
- retval=$((${retval} + $?))
- done
- return ${retval}
-}
-
-start() {
- # LVM support for /usr, /home, /opt ....
- # This should be done *before* checking local
- # volumes, or they never get checked.
-
- # NOTE: Add needed modules for LVM or RAID, etc
- # to /etc/modules.autoload if needed
- for lvm_path in /bin/lvm /sbin/lvm ; do
- [ -x "$lvm_path" ] && break
- done
- if [ ! -x "$lvm_path" ]; then
- eerror "Cannot find lvm binary in /sbin or /bin!"
- return 1
- fi
- if [ -z "${CDBOOT}" ] ; then
- if [ -e /proc/modules ] && ! dm_in_proc ; then
- modprobe dm-mod 2>/dev/null
- fi
- if [ -d /proc/lvm ] || dm_in_proc ; then
- ebegin "Setting up the Logical Volume Manager"
- #still echo stderr for debugging
- lvm_commands="#! ${lvm_path} --config '${config}'\n"
- # Extra PV find pass because some devices might not have been available until very recently
- lvm_commands="${lvm_commands}pvscan\n"
- # Now make the nodes
- lvm_commands="${lvm_commands}vgscan --mknodes\n"
- # And turn them on!
- lvm_commands="${lvm_commands}vgchange --sysinit -a ly\n"
- # Order of this is important, have to work around dash and LVM readline
- printf "%b\n" "${lvm_commands}" | $lvm_path /proc/self/fd/0 --config "${config}" >/dev/null
- eend $? "Failed to setup the LVM"
- fi
- fi
-}
-
-stop() {
- for lvm_path in /bin/lvm /sbin/lvm ; do
- [ -x "$lvm_path" ] && break
- done
- if [ ! -x "$lvm_path" ]; then
- eerror "Cannot find lvm binary in /sbin or /bin!"
- return 1
- fi
-# Stop LVM2
-if [ -x /sbin/vgs ] && \
- [ -x /sbin/vgchange ] && \
- [ -x /sbin/lvchange ] && \
- [ -f /etc/lvmtab -o -d /etc/lvm ] && \
- [ -d /proc/lvm -o "`grep device-mapper /proc/misc 2>/dev/null`" ]
-then
- einfo "Shutting down the Logical Volume Manager"
-
-
- VGS=$($lvm_path vgs --config "${config}" -o vg_name --noheadings --nosuffix 2> /dev/null)
-
- if [ "$VGS" ]
- then
- ebegin " Shutting Down LVs & VGs"
- #still echo stderr for debugging
- lvm_commands="#! ${lvm_path} --config '${config}'\n"
- # Extra PV find pass because some devices might not have been available until very recently
- lvm_commands="${lvm_commands}lvchange --sysinit -a ln ${VGS}\n"
- # Now make the nodes
- lvm_commands="${lvm_commands}vgchange --sysinit -a ln\n"
- # Order of this is important, have to work around dash and LVM readline
- printf "%b\n" "${lvm_commands}" | $lvm_path /proc/self/fd/0 --config "${config}" >/dev/null
- eend $? "Failed"
- fi
-
- einfo "Finished Shutting down the Logical Volume Manager"
-fi
-}
-
-# vim:ts=4
diff --git a/sys-fs/lvm2/files/lvm2-2.02.100-selinux_and_udev_static.patch b/sys-fs/lvm2/files/lvm2-2.02.100-selinux_and_udev_static.patch
deleted file mode 100644
index d6c8e5f..0000000
--- a/sys-fs/lvm2/files/lvm2-2.02.100-selinux_and_udev_static.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-diff -ur LVM2.2.02.100.orig/configure.in LVM2.2.02.100/configure.in
---- LVM2.2.02.100.orig/configure.in 2013-08-13 13:44:43.000000000 +0300
-+++ LVM2.2.02.100/configure.in 2013-09-12 23:23:19.365329440 +0300
-@@ -954,6 +954,7 @@
- pkg_config_init
- fi
- PKG_CHECK_MODULES(UDEV, libudev >= 143, [UDEV_PC="libudev"])
-+ UDEV_STATIC_LIBS=`$PKG_CONFIG --static --libs libudev`
- AC_DEFINE([UDEV_SYNC_SUPPORT], 1, [Define to 1 to enable synchronisation with udev processing.])
- fi
-
-@@ -1199,19 +1200,32 @@
- if test x$SELINUX = xyes; then
- AC_CHECK_LIB([sepol], [sepol_check_context], [
- AC_DEFINE([HAVE_SEPOL], 1, [Define to 1 if sepol_check_context is available.])
-- SELINUX_LIBS="-lsepol"])
-+ SEPOL_LIBS="-lsepol"])
-
-- AC_CHECK_LIB([selinux], [is_selinux_enabled], [
-- AC_CHECK_HEADERS([selinux/selinux.h],, hard_bailout)
-- AC_CHECK_HEADERS([selinux/label.h])
-- AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-- SELINUX_LIBS="-lselinux $SELINUX_LIBS"
-+ dnl -- init pkgconfig if required
-+ if test x$PKGCONFIG_INIT != x1; then
-+ pkg_config_init
-+ fi
-+ PKG_CHECK_MODULES(SELINUX, libselinux, [
- SELINUX_PC="libselinux"
-- HAVE_SELINUX=yes ], [
-- AC_MSG_WARN(Disabling selinux)
-- SELINUX_LIBS=
-- SELINUX_PC=
-- HAVE_SELINUX=no ])
-+ SELINUX_STATIC_LIBS=`$PKG_CONFIG --static --libs libselinux`
-+ SELINUX_LIBS="$SELINUX_LIBS $SEPOL_LIBS"
-+ AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-+ ],[
-+ dnl -- old non-pkgconfig method, is buggy with static builds
-+ AC_CHECK_LIB([selinux], [is_selinux_enabled], [
-+ AC_CHECK_HEADERS([selinux/selinux.h],, hard_bailout)
-+ AC_CHECK_HEADERS([selinux/label.h])
-+ AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-+ SELINUX_LIBS="-lselinux $SEPOL_LIBS"
-+ SELINUX_STATIC_LIBS="$SELINUX_LIBS"
-+ SELINUX_PC="libselinux"
-+ HAVE_SELINUX=yes ], [
-+ AC_MSG_WARN(Disabling selinux)
-+ SELINUX_LIBS=
-+ SELINUX_PC=
-+ HAVE_SELINUX=no ])
-+ ])
- fi
-
- ################################################################################
-@@ -1615,6 +1629,7 @@
- AC_SUBST(SALCK_CFLAGS)
- AC_SUBST(SALCK_LIBS)
- AC_SUBST(SELINUX_LIBS)
-+AC_SUBST(SELINUX_STATIC_LIBS)
- AC_SUBST(SELINUX_PC)
- AC_SUBST(SNAPSHOTS)
- AC_SUBST(STATICDIR)
-@@ -1625,6 +1640,7 @@
- AC_SUBST(THIN_DUMP_CMD)
- AC_SUBST(THIN_REPAIR_CMD)
- AC_SUBST(UDEV_LIBS)
-+AC_SUBST(UDEV_STATIC_LIBS)
- AC_SUBST(UDEV_PC)
- AC_SUBST(UDEV_RULES)
- AC_SUBST(UDEV_SYNC)
-diff -ur LVM2.2.02.100.orig/make.tmpl.in LVM2.2.02.100/make.tmpl.in
---- LVM2.2.02.100.orig/make.tmpl.in 2013-08-13 13:44:43.000000000 +0300
-+++ LVM2.2.02.100/make.tmpl.in 2013-09-12 23:22:58.125328808 +0300
-@@ -32,7 +32,7 @@
-
- LIBS = @LIBS@
- # Extra libraries always linked with static binaries
--STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS)
-+STATIC_LIBS = $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS)
- DEFS += @DEFS@
- # FIXME set this only where it's needed, not globally?
- CFLAGS += @CFLAGS@ @UDEV_CFLAGS@
-@@ -46,7 +46,9 @@
- PTHREAD_LIBS = @PTHREAD_LIBS@
- READLINE_LIBS = @READLINE_LIBS@
- SELINUX_LIBS = @SELINUX_LIBS@
-+SELINUX_STATIC_LIBS = @SELINUX_STATIC_LIBS@
- UDEV_LIBS = @UDEV_LIBS@
-+UDEV_STATIC_LIBS = @UDEV_STATIC_LIBS@
- TESTING = @TESTING@
-
- # Setup directory variables
diff --git a/sys-fs/lvm2/files/lvm2-2.02.107-static-pkgconfig-libs.patch b/sys-fs/lvm2/files/lvm2-2.02.107-static-pkgconfig-libs.patch
deleted file mode 100644
index 723cd0e..0000000
--- a/sys-fs/lvm2/files/lvm2-2.02.107-static-pkgconfig-libs.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-diff -Nuar --exclude '*.orig' --exclude '*.rej' LVM2.2.02.107.orig/configure.in LVM2.2.02.107/configure.in
---- LVM2.2.02.107.orig/configure.in 2014-07-15 12:57:55.867439868 -0700
-+++ LVM2.2.02.107/configure.in 2014-07-15 17:24:02.662666091 -0700
-@@ -997,6 +997,7 @@
- fi])
- if test "$BLKID_WIPING" = yes; then
- BLKID_PC="blkid"
-+ BLKID_STATIC_LIBS=`$PKG_CONFIG --static --libs $BLKID_PC`
- AC_DEFINE([BLKID_WIPING_SUPPORT], 1, [Define to 1 to use libblkid detection of signatures when wiping.])
- fi
- fi
-@@ -1022,6 +1023,7 @@
- if test "$UDEV_SYNC" = yes; then
- pkg_config_init
- PKG_CHECK_MODULES(UDEV, libudev >= 143, [UDEV_PC="libudev"])
-+ UDEV_STATIC_LIBS=`$PKG_CONFIG --static --libs libudev`
- AC_DEFINE([UDEV_SYNC_SUPPORT], 1, [Define to 1 to enable synchronisation with udev processing.])
- fi
-
-@@ -1242,19 +1244,32 @@
- if test "$SELINUX" = yes; then
- AC_CHECK_LIB([sepol], [sepol_check_context], [
- AC_DEFINE([HAVE_SEPOL], 1, [Define to 1 if sepol_check_context is available.])
-- SELINUX_LIBS="-lsepol"])
-+ SEPOL_LIBS="-lsepol"])
-+
-+ dnl -- init pkgconfig if required
-+ if test x$PKGCONFIG_INIT != x1; then
-+ pkg_config_init
-+ fi
-+ PKG_CHECK_MODULES(SELINUX, libselinux, [
-+ SELINUX_PC="libselinux"
-+ SELINUX_STATIC_LIBS=`$PKG_CONFIG --static --libs libselinux`
-+ SELINUX_LIBS="$SELINUX_LIBS $SEPOL_LIBS"
-+ AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-+ ],[
-+ dnl -- old non-pkgconfig method, is buggy with static builds
-
- AC_CHECK_LIB([selinux], [is_selinux_enabled], [
- AC_CHECK_HEADERS([selinux/selinux.h],, hard_bailout)
- AC_CHECK_HEADERS([selinux/label.h])
- AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-- SELINUX_LIBS="-lselinux $SELINUX_LIBS"
-+ SELINUX_LIBS="-lselinux $SEPOL_LIBS"
- SELINUX_PC="libselinux"
- HAVE_SELINUX=yes ], [
- AC_MSG_WARN(Disabling selinux)
- SELINUX_LIBS=
- SELINUX_PC=
- HAVE_SELINUX=no ])
-+ ])
- fi
-
- ################################################################################
-@@ -1556,6 +1571,7 @@
- ################################################################################
- AC_SUBST(APPLIB)
- AC_SUBST(AWK)
-+AC_SUBST(BLKID_STATIC_LIBS)
- AC_SUBST(BLKID_PC)
- AC_SUBST(BLKID_WIPING)
- AC_SUBST(BUILD_CMIRRORD)
-@@ -1651,6 +1667,7 @@
- AC_SUBST(SALCK_CFLAGS)
- AC_SUBST(SALCK_LIBS)
- AC_SUBST(SELINUX_LIBS)
-+AC_SUBST(SELINUX_STATIC_LIBS)
- AC_SUBST(SELINUX_PC)
- AC_SUBST(SNAPSHOTS)
- AC_SUBST(STATICDIR)
-@@ -1662,6 +1679,7 @@
- AC_SUBST(THIN_DUMP_CMD)
- AC_SUBST(THIN_REPAIR_CMD)
- AC_SUBST(THIN_RESTORE_CMD)
-+AC_SUBST(UDEV_STATIC_LIBS)
- AC_SUBST(UDEV_PC)
- AC_SUBST(UDEV_RULES)
- AC_SUBST(UDEV_SYNC)
-diff -Nuar --exclude '*.orig' --exclude '*.rej' LVM2.2.02.107.orig/make.tmpl.in LVM2.2.02.107/make.tmpl.in
---- LVM2.2.02.107.orig/make.tmpl.in 2014-07-15 12:57:55.868439884 -0700
-+++ LVM2.2.02.107/make.tmpl.in 2014-07-15 17:23:24.060055838 -0700
-@@ -44,7 +44,7 @@
-
- LIBS = @LIBS@
- # Extra libraries always linked with static binaries
--STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS)
-+STATIC_LIBS = $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS)
- DEFS += @DEFS@
- # FIXME set this only where it's needed, not globally?
- CFLAGS += @CFLAGS@
-@@ -59,10 +59,13 @@
- PTHREAD_LIBS = @PTHREAD_LIBS@
- READLINE_LIBS = @READLINE_LIBS@
- SELINUX_LIBS = @SELINUX_LIBS@
-+SELINUX_STATIC_LIBS = @SELINUX_STATIC_LIBS@
- UDEV_CFLAGS = @UDEV_CFLAGS@
- UDEV_LIBS = @UDEV_LIBS@
-+UDEV_STATIC_LIBS = @UDEV_STATIC_LIBS@
- BLKID_CFLAGS = @BLKID_CFLAGS@
- BLKID_LIBS = @BLKID_LIBS@
-+BLKID_STATIC_LIBS = @BLKID_STATIC_LIBS@
- TESTING = @TESTING@
-
- # Setup directory variables
diff --git a/sys-fs/lvm2/files/lvm2-2.02.99-example.conf.in.patch b/sys-fs/lvm2/files/lvm2-2.02.99-example.conf.in.patch
deleted file mode 100644
index 38be5df..0000000
--- a/sys-fs/lvm2/files/lvm2-2.02.99-example.conf.in.patch
+++ /dev/null
@@ -1,47 +0,0 @@
---- conf/example.conf.in
-+++ conf/example.conf.in
-@@ -50,7 +50,9 @@
-
-
- # By default we accept every block device:
-- filter = [ "a/.*/" ]
-+ # Gentoo: we exclude /dev/nbd by default, because it makes a lot of kernel
-+ # noise when you probed while not available.
-+ filter = [ "r|/dev/nbd.*|", "a/.*/" ]
-
- # Exclude the cdrom drive
- # filter = [ "r|/dev/cdrom|" ]
-@@ -259,6 +261,8 @@
- # the new lvm2 on-disk metadata format.
- # The default value is set when the tools are built.
- # fallback_to_lvm1 = 0
-+ # Gentoo: the LVM tools are a seperate package.
-+ fallback_to_lvm1 = 0
-
- # The default metadata format that commands should use - "lvm1" or "lvm2".
- # The command line override is -M1 or -M2.
-@@ -449,12 +453,12 @@
-
- # Metadata settings
- #
--# metadata {
-+metadata {
- # Default number of copies of metadata to hold on each PV. 0, 1 or 2.
- # You might want to override it from the command line with 0
- # when running pvcreate on new PVs which are to be added to large VGs.
--
-- # pvmetadatacopies = 1
-+ # Gentoo: enable for data safety, but PV resize is then disabled.
-+ #pvmetadatacopies = 2
-
- # Approximate default size of on-disk metadata areas in sectors.
- # You should increase this if you have large volume groups or
-@@ -476,7 +480,7 @@
- # the supplied toolset to make changes (e.g. vgcfgrestore).
-
- # dirs = [ "/etc/lvm/metadata", "/mnt/disk2/lvm/metadata2" ]
--#}
-+}
-
- # Event daemon
- #
diff --git a/sys-fs/lvm2/lvm2-2.02.103.ebuild b/sys-fs/lvm2/lvm2-2.02.103.ebuild
deleted file mode 100644
index a9e1ceb..0000000
--- a/sys-fs/lvm2/lvm2-2.02.103.ebuild
+++ /dev/null
@@ -1,235 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-inherit autotools eutils linux-info multilib systemd toolchain-funcs udev
-
-DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
-HOMEPAGE="https://sources.redhat.com/lvm2/"
-SRC_URI="ftp://sources.redhat.com/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
- ftp://sources.redhat.com/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux"
-IUSE="readline static static-libs clvm cman +lvm1 lvm2create_initrd selinux +udev +thin"
-
-DEPEND_COMMON="clvm? ( cman? ( =sys-cluster/cman-3* ) =sys-cluster/libdlm-3* )
- readline? ( sys-libs/readline:0= )
- udev? ( >=virtual/libudev-208:=[static-libs?] )"
-# /run is now required for locking during early boot. /var cannot be assumed to
-# be available -- thus, pull in recent enough baselayout for /run.
-# This version of LVM is incompatible with cryptsetup <1.1.2.
-RDEPEND="${DEPEND_COMMON}
- >=sys-apps/baselayout-2.2
- !<sys-apps/openrc-0.11
- !<sys-fs/cryptsetup-1.1.2
- !!sys-fs/clvm
- !!sys-fs/lvm-user
- >=sys-apps/util-linux-2.16
- lvm2create_initrd? ( sys-apps/makedev )
- thin? ( >=sys-block/thin-provisioning-tools-0.2.1 )"
-DEPEND="${DEPEND_COMMON}
- virtual/pkgconfig
- >=sys-devel/binutils-2.20.1-r1
- static? (
- selinux? ( sys-libs/libselinux[static-libs] )
- udev? ( >=virtual/libudev-208:=[static-libs] )
- )"
-
-S=${WORKDIR}/${PN/lvm/LVM}.${PV}
-
-pkg_setup() {
- local CONFIG_CHECK="~SYSVIPC"
-
- if use udev; then
- local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
- if linux_config_exists; then
- local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
- if [ -n "${uevent_helper_path}" ] && [ "${uevent_helper_path}" != '""' ]; then
- ewarn "It's recommended to set an empty value to the following kernel config option:"
- ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
- fi
- fi
- fi
-
- check_extra_config
-
- # 1. Genkernel no longer copies /sbin/lvm blindly.
- if use static; then
- elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
- elog "their static versions. If you need the static binaries,"
- elog "you must append .static to the filename!"
- fi
-}
-
-src_prepare() {
- # Gentoo specific modification(s):
- epatch "${FILESDIR}"/${PN}-2.02.99-example.conf.in.patch
-
- sed -i \
- -e "1iAR = $(tc-getAR)" \
- -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
- make.tmpl.in || die #444082
-
- sed -i -e '/FLAG/s:-O2::' configure{,.in} || die #480212
-
- # For upstream -- review and forward:
- epatch "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
- epatch "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
- epatch "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
- epatch "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
- epatch "${FILESDIR}"/${PN}-2.02.70-asneeded.patch # -Wl,--as-needed
- epatch "${FILESDIR}"/${PN}-2.02.92-dynamic-static-ldflags.patch #332905
- epatch "${FILESDIR}"/${PN}-2.02.100-selinux_and_udev_static.patch #370217, #439414
-
- eautoreconf
-}
-
-src_configure() {
- local myconf
- local buildmode
-
- myconf="${myconf} --enable-dmeventd"
- myconf="${myconf} --enable-cmdlib"
- myconf="${myconf} --enable-applib"
- myconf="${myconf} --enable-fsadm"
- myconf="${myconf} --enable-lvmetad"
-
- # Most of this package does weird stuff.
- # The build options are tristate, and --without is NOT supported
- # options: 'none', 'internal', 'shared'
- if use static; then
- buildmode="internal"
- # This only causes the .static versions to become available
- myconf="${myconf} --enable-static_link"
- else
- buildmode="shared"
- fi
-
- # dmeventd requires mirrors to be internal, and snapshot available
- # so we cannot disable them
- myconf="${myconf} --with-mirrors=internal"
- myconf="${myconf} --with-snapshots=internal"
- use thin \
- && myconf="${myconf} --with-thin=internal" \
- || myconf="${myconf} --with-thin=none"
-
- if use lvm1; then
- myconf="${myconf} --with-lvm1=${buildmode}"
- else
- myconf="${myconf} --with-lvm1=none"
- fi
-
- # disable O_DIRECT support on hppa, breaks pv detection (#99532)
- use hppa && myconf="${myconf} --disable-o_direct"
-
- if use clvm; then
- myconf="${myconf} --with-cluster=${buildmode}"
- # 4-state! Make sure we get it right, per bug 210879
- # Valid options are: none, cman, gulm, all
- #
- # 2009/02:
- # gulm is removed now, now dual-state:
- # cman, none
- # all still exists, but is not needed
- #
- # 2009/07:
- # TODO: add corosync and re-enable ALL
- local clvmd=""
- use cman && clvmd="cman"
- #clvmd="${clvmd/cmangulm/all}"
- [ -z "${clvmd}" ] && clvmd="none"
- myconf="${myconf} --with-clvmd=${clvmd}"
- myconf="${myconf} --with-pool=${buildmode}"
- else
- myconf="${myconf} --with-clvmd=none --with-cluster=none"
- fi
-
- econf \
- $(use_enable readline) \
- $(use_enable selinux) \
- --enable-pkgconfig \
- --with-confdir="${EPREFIX}"/etc \
- --exec-prefix="${EPREFIX}" \
- --sbindir="${EPREFIX}/sbin" \
- --with-staticdir="${EPREFIX}"/sbin \
- --libdir="${EPREFIX}/$(get_libdir)" \
- --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)" \
- --with-default-dm-run-dir=/run \
- --with-default-run-dir=/run/lvm \
- --with-default-locking-dir=/run/lock/lvm \
- --with-default-pid-dir=/run \
- $(use_enable udev udev_rules) \
- $(use_enable udev udev_sync) \
- $(use_with udev udevdir "$(get_udevdir)"/rules.d) \
- "$(systemd_with_unitdir)" \
- ${myconf} \
- CLDFLAGS="${LDFLAGS}"
-}
-
-src_compile() {
- pushd include >/dev/null
- emake
- popd >/dev/null
-
- emake
- emake CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
-}
-
-src_install() {
- local inst
- for inst in install install_systemd_units install_systemd_generators install_tmpfiles_configuration; do
- emake DESTDIR="${D}" ${inst}
- done
-
- newinitd "${FILESDIR}"/lvm.rc-2.02.95-r2 lvm
- newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm
-
- newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.67-r2 lvm-monitoring
-
- newinitd "${FILESDIR}"/device-mapper.rc-2.02.95-r2 device-mapper
- newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
-
- newinitd "${FILESDIR}"/dmeventd.initd-2.02.67-r1 dmeventd
-
- if use clvm; then
- newinitd "${FILESDIR}"/clvmd.rc-2.02.39 clvmd
- newconfd "${FILESDIR}"/clvmd.confd-2.02.39 clvmd
- fi
-
- if use static-libs; then
- dolib.a libdm/ioctl/libdevmapper.a
- dolib.a libdaemon/client/libdaemonclient.a #462908
- #gen_usr_ldscript libdevmapper.so
- dolib.a daemons/dmeventd/libdevmapper-event.a
- #gen_usr_ldscript libdevmapper-event.so
- else
- rm -f "${ED}"usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
- fi
-
- if use lvm2create_initrd; then
- dosbin scripts/lvm2create_initrd/lvm2create_initrd
- doman scripts/lvm2create_initrd/lvm2create_initrd.8
- newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
- fi
-
- insinto /etc
- doins "${FILESDIR}"/dmtab
-
- dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
-}
-
-pkg_postinst() {
- ewarn "Make sure the \"lvm\" init script is in the runlevels:"
- ewarn "# rc-update add lvm boot"
- ewarn
- ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
- ewarn "to enable lvm autoactivation and metadata caching."
-}
-
-src_test() {
- einfo "Tests are disabled because of device-node mucking, if you want to"
- einfo "run tests, compile the package and see ${S}/tests"
-}
diff --git a/sys-fs/lvm2/lvm2-2.02.109-r1.ebuild b/sys-fs/lvm2/lvm2-2.02.109-r1.ebuild
deleted file mode 100644
index 51ab306..0000000
--- a/sys-fs/lvm2/lvm2-2.02.109-r1.ebuild
+++ /dev/null
@@ -1,270 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-inherit autotools eutils linux-info multilib systemd toolchain-funcs udev flag-o-matic
-
-DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
-HOMEPAGE="https://sources.redhat.com/lvm2/"
-SRC_URI="ftp://sources.redhat.com/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
- ftp://sources.redhat.com/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="readline static static-libs systemd clvm cman lvm1 lvm2create_initrd selinux +udev +thin device-mapper-only"
-REQUIRED_USE="device-mapper-only? ( !clvm !cman !lvm1 !lvm2create_initrd !thin )
- static? ( !udev )" #520450
-
-DEPEND_COMMON="clvm? ( cman? ( =sys-cluster/cman-3* ) =sys-cluster/libdlm-3* )
- readline? ( sys-libs/readline:0= )
- udev? ( >=virtual/libudev-208:=[static-libs?] )"
-# /run is now required for locking during early boot. /var cannot be assumed to
-# be available -- thus, pull in recent enough baselayout for /run.
-# This version of LVM is incompatible with cryptsetup <1.1.2.
-RDEPEND="${DEPEND_COMMON}
- >=sys-apps/baselayout-2.2
- !<sys-apps/openrc-0.11
- !<sys-fs/cryptsetup-1.1.2
- !!sys-fs/clvm
- !!sys-fs/lvm-user
- >=sys-apps/util-linux-2.16
- lvm2create_initrd? ( sys-apps/makedev )
- thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
-# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
-DEPEND="${DEPEND_COMMON}
- virtual/pkgconfig
- >=sys-devel/binutils-2.20.1-r1
- static? (
- selinux? ( sys-libs/libselinux[static-libs] )
- udev? ( >=virtual/libudev-208:=[static-libs] )
- >=sys-apps/util-linux-2.16[static-libs]
- )"
-
-S=${WORKDIR}/${PN/lvm/LVM}.${PV}
-
-pkg_setup() {
- local CONFIG_CHECK="~SYSVIPC"
-
- if use udev; then
- local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
- if linux_config_exists; then
- local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
- if [ -n "${uevent_helper_path}" ] && [ "${uevent_helper_path}" != '""' ]; then
- ewarn "It's recommended to set an empty value to the following kernel config option:"
- ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
- fi
- fi
- fi
-
- check_extra_config
-
- # 1. Genkernel no longer copies /sbin/lvm blindly.
- if use static; then
- elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
- elog "their static versions. If you need the static binaries,"
- elog "you must append .static to the filename!"
- fi
-}
-
-src_prepare() {
- # Gentoo specific modification(s):
- epatch "${FILESDIR}"/${PN}-2.02.108-example.conf.in.patch
-
- sed -i \
- -e "1iAR = $(tc-getAR)" \
- -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
- make.tmpl.in || die #444082
-
- sed -i -e '/FLAG/s:-O2::' configure{.in,} || die #480212
-
- if use systemd && ! use device-mapper-only; then
- sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196
- fi
-
- sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
-
- # For upstream -- review and forward:
- epatch "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
- epatch "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
- epatch "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
- epatch "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
- epatch "${FILESDIR}"/${PN}-2.02.70-asneeded.patch # -Wl,--as-needed
- epatch "${FILESDIR}"/${PN}-2.02.92-dynamic-static-ldflags.patch #332905
- epatch "${FILESDIR}"/${PN}-2.02.108-static-pkgconfig-libs.patch #370217, #439414 + blkid
- epatch "${FILESDIR}"/${PN}-2.02.106-pthread-pkgconfig.patch #492450
-
- # Without thin-privision-tools, there is nothing to install for target install_man7:
- use thin || { sed -i -e '/^install_lvm2/s:install_man7::' man/Makefile.in || die; }
-
- sed -i -e 's:|share):|shared):' configure.in || die #520640
-
- eautoreconf
-}
-
-src_configure() {
- filter-flags -flto
- local myconf
- local buildmode
-
- myconf="${myconf} $(use_enable !device-mapper-only dmeventd)"
- myconf="${myconf} $(use_enable !device-mapper-only cmdlib)"
- myconf="${myconf} $(use_enable !device-mapper-only applib)"
- myconf="${myconf} $(use_enable !device-mapper-only fsadm)"
- myconf="${myconf} $(use_enable !device-mapper-only lvmetad)"
- use device-mapper-only && myconf="${myconf} --disable-udev-systemd-background-jobs"
-
- # Most of this package does weird stuff.
- # The build options are tristate, and --without is NOT supported
- # options: 'none', 'internal', 'shared'
- if use static; then
- buildmode="internal"
- # This only causes the .static versions to become available
- myconf="${myconf} --enable-static_link"
- else
- buildmode="shared"
- fi
- dmbuildmode=$(use !device-mapper-only && echo internal || echo none)
-
- # dmeventd requires mirrors to be internal, and snapshot available
- # so we cannot disable them
- myconf="${myconf} --with-mirrors=${dmbuildmode}"
- myconf="${myconf} --with-snapshots=${dmbuildmode}"
- if use thin; then
- myconf="${myconf} --with-thin=internal --with-cache=internal"
- local texec
- for texec in check dump repair restore; do
- myconf="${myconf} --with-thin-${texec}=${EPREFIX}/sbin/thin_${texec}"
- myconf="${myconf} --with-cache-${texec}=${EPREFIX}/sbin/cache_${texec}"
- done
- else
- myconf="${myconf} --with-thin=none --with-cache=none"
- fi
-
- if use lvm1; then
- myconf="${myconf} --with-lvm1=${buildmode}"
- else
- myconf="${myconf} --with-lvm1=none"
- fi
-
- # disable O_DIRECT support on hppa, breaks pv detection (#99532)
- use hppa && myconf="${myconf} --disable-o_direct"
-
- if use clvm; then
- myconf="${myconf} --with-cluster=${buildmode}"
- # 4-state! Make sure we get it right, per bug 210879
- # Valid options are: none, cman, gulm, all
- #
- # 2009/02:
- # gulm is removed now, now dual-state:
- # cman, none
- # all still exists, but is not needed
- #
- # 2009/07:
- # TODO: add corosync and re-enable ALL
- local clvmd=""
- use cman && clvmd="cman"
- #clvmd="${clvmd/cmangulm/all}"
- [ -z "${clvmd}" ] && clvmd="none"
- myconf="${myconf} --with-clvmd=${clvmd}"
- myconf="${myconf} --with-pool=${buildmode}"
- else
- myconf="${myconf} --with-clvmd=none --with-cluster=none"
- fi
-
- econf \
- $(use_enable readline) \
- $(use_enable selinux) \
- --enable-pkgconfig \
- --with-confdir="${EPREFIX}"/etc \
- --exec-prefix="${EPREFIX}" \
- --sbindir="${EPREFIX}/sbin" \
- --with-staticdir="${EPREFIX}"/sbin \
- --libdir="${EPREFIX}/$(get_libdir)" \
- --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)" \
- --with-default-dm-run-dir=/run \
- --with-default-run-dir=/run/lvm \
- --with-default-locking-dir=/run/lock/lvm \
- --with-default-pid-dir=/run \
- $(use_enable udev udev_rules) \
- $(use_enable udev udev_sync) \
- $(use_with udev udevdir "$(get_udevdir)"/rules.d) \
- $(use_enable systemd udev-systemd-background-jobs) \
- "$(systemd_with_unitdir)" \
- ${myconf} \
- CLDFLAGS="${LDFLAGS}"
-}
-
-src_compile() {
- pushd include >/dev/null
- emake
- popd >/dev/null
-
- if use device-mapper-only ; then
- emake device-mapper
- else
- emake
- emake CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
- fi
-}
-
-src_install() {
- local inst
- INSTALL_TARGETS="install install_systemd_units install_systemd_generators install_tmpfiles_configuration"
- use device-mapper-only && INSTALL_TARGETS="install_device-mapper"
- for inst in ${INSTALL_TARGETS}; do
- emake DESTDIR="${D}" ${inst}
- done
-
- newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
- newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
-
- if use !device-mapper-only ; then
- newinitd "${FILESDIR}"/dmeventd.initd-2.02.67-r1 dmeventd
- newinitd "${FILESDIR}"/lvm.rc-2.02.105-r2 lvm
- newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm
-
- newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
- newinitd "${FILESDIR}"/lvmetad.initd-2.02.105-r2 lvmetad
- fi
-
- if use clvm; then
- newinitd "${FILESDIR}"/clvmd.rc-2.02.39 clvmd
- newconfd "${FILESDIR}"/clvmd.confd-2.02.39 clvmd
- fi
-
- if use static-libs; then
- dolib.a libdm/ioctl/libdevmapper.a
- dolib.a libdaemon/client/libdaemonclient.a #462908
- #gen_usr_ldscript libdevmapper.so
- dolib.a daemons/dmeventd/libdevmapper-event.a
- #gen_usr_ldscript libdevmapper-event.so
- else
- rm -f "${ED}"usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
- fi
-
- if use lvm2create_initrd; then
- dosbin scripts/lvm2create_initrd/lvm2create_initrd
- doman scripts/lvm2create_initrd/lvm2create_initrd.8
- newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
- fi
-
- insinto /etc
- doins "${FILESDIR}"/dmtab
-
- dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
-}
-
-pkg_postinst() {
- ewarn "Make sure the \"lvm\" init script is in the runlevels:"
- ewarn "# rc-update add lvm boot"
- ewarn
- ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
- ewarn "to enable lvm autoactivation and metadata caching."
-}
-
-src_test() {
- einfo "Tests are disabled because of device-node mucking, if you want to"
- einfo "run tests, compile the package and see ${S}/tests"
-}
diff --git a/sys-fs/lvm2/lvm2-2.02.109.ebuild b/sys-fs/lvm2/lvm2-2.02.109.ebuild
deleted file mode 100644
index 29c6ad3..0000000
--- a/sys-fs/lvm2/lvm2-2.02.109.ebuild
+++ /dev/null
@@ -1,269 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-inherit autotools eutils linux-info multilib systemd toolchain-funcs udev flag-o-matic
-
-DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
-HOMEPAGE="https://sources.redhat.com/lvm2/"
-SRC_URI="ftp://sources.redhat.com/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
- ftp://sources.redhat.com/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux"
-IUSE="readline static static-libs systemd clvm cman lvm1 lvm2create_initrd selinux +udev +thin device-mapper-only"
-REQUIRED_USE="device-mapper-only? ( !clvm !cman !lvm1 !lvm2create_initrd !thin )"
-
-DEPEND_COMMON="clvm? ( cman? ( =sys-cluster/cman-3* ) =sys-cluster/libdlm-3* )
- readline? ( sys-libs/readline:0= )
- udev? ( >=virtual/libudev-208:=[static-libs?] )"
-# /run is now required for locking during early boot. /var cannot be assumed to
-# be available -- thus, pull in recent enough baselayout for /run.
-# This version of LVM is incompatible with cryptsetup <1.1.2.
-RDEPEND="${DEPEND_COMMON}
- >=sys-apps/baselayout-2.2
- !<sys-apps/openrc-0.11
- !<sys-fs/cryptsetup-1.1.2
- !!sys-fs/clvm
- !!sys-fs/lvm-user
- >=sys-apps/util-linux-2.16
- lvm2create_initrd? ( sys-apps/makedev )
- thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
-# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
-DEPEND="${DEPEND_COMMON}
- virtual/pkgconfig
- >=sys-devel/binutils-2.20.1-r1
- static? (
- selinux? ( sys-libs/libselinux[static-libs] )
- udev? ( >=virtual/libudev-208:=[static-libs] )
- <sys-apps/util-linux-2.25[static-libs]
- )"
-
-S=${WORKDIR}/${PN/lvm/LVM}.${PV}
-
-pkg_setup() {
- local CONFIG_CHECK="~SYSVIPC"
-
- if use udev; then
- local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
- if linux_config_exists; then
- local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
- if [ -n "${uevent_helper_path}" ] && [ "${uevent_helper_path}" != '""' ]; then
- ewarn "It's recommended to set an empty value to the following kernel config option:"
- ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
- fi
- fi
- fi
-
- check_extra_config
-
- # 1. Genkernel no longer copies /sbin/lvm blindly.
- if use static; then
- elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
- elog "their static versions. If you need the static binaries,"
- elog "you must append .static to the filename!"
- fi
-}
-
-src_prepare() {
- # Gentoo specific modification(s):
- epatch "${FILESDIR}"/${PN}-2.02.108-example.conf.in.patch
-
- sed -i \
- -e "1iAR = $(tc-getAR)" \
- -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
- make.tmpl.in || die #444082
-
- sed -i -e '/FLAG/s:-O2::' configure{.in,} || die #480212
-
- if use systemd && ! use device-mapper-only; then
- sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196
- fi
-
- sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
-
- # For upstream -- review and forward:
- epatch "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
- epatch "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
- epatch "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
- epatch "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
- epatch "${FILESDIR}"/${PN}-2.02.70-asneeded.patch # -Wl,--as-needed
- epatch "${FILESDIR}"/${PN}-2.02.92-dynamic-static-ldflags.patch #332905
- epatch "${FILESDIR}"/${PN}-2.02.108-static-pkgconfig-libs.patch #370217, #439414 + blkid
- epatch "${FILESDIR}"/${PN}-2.02.106-pthread-pkgconfig.patch #492450
-
- # Without thin-privision-tools, there is nothing to install for target install_man7:
- use thin || { sed -i -e '/^install_lvm2/s:install_man7::' man/Makefile.in || die; }
-
- sed -i -e 's:|share):|shared):' configure.in || die #520640
-
- eautoreconf
-}
-
-src_configure() {
- filter-flags -flto
- local myconf
- local buildmode
-
- myconf="${myconf} $(use_enable !device-mapper-only dmeventd)"
- myconf="${myconf} $(use_enable !device-mapper-only cmdlib)"
- myconf="${myconf} $(use_enable !device-mapper-only applib)"
- myconf="${myconf} $(use_enable !device-mapper-only fsadm)"
- myconf="${myconf} $(use_enable !device-mapper-only lvmetad)"
- use device-mapper-only && myconf="${myconf} --disable-udev-systemd-background-jobs"
-
- # Most of this package does weird stuff.
- # The build options are tristate, and --without is NOT supported
- # options: 'none', 'internal', 'shared'
- if use static; then
- buildmode="internal"
- # This only causes the .static versions to become available
- myconf="${myconf} --enable-static_link"
- else
- buildmode="shared"
- fi
- dmbuildmode=$(use !device-mapper-only && echo internal || echo none)
-
- # dmeventd requires mirrors to be internal, and snapshot available
- # so we cannot disable them
- myconf="${myconf} --with-mirrors=${dmbuildmode}"
- myconf="${myconf} --with-snapshots=${dmbuildmode}"
- if use thin; then
- myconf="${myconf} --with-thin=internal --with-cache=internal"
- local texec
- for texec in check dump repair restore; do
- myconf="${myconf} --with-thin-${texec}=${EPREFIX}/sbin/thin_${texec}"
- myconf="${myconf} --with-cache-${texec}=${EPREFIX}/sbin/cache_${texec}"
- done
- else
- myconf="${myconf} --with-thin=none --with-cache=none"
- fi
-
- if use lvm1; then
- myconf="${myconf} --with-lvm1=${buildmode}"
- else
- myconf="${myconf} --with-lvm1=none"
- fi
-
- # disable O_DIRECT support on hppa, breaks pv detection (#99532)
- use hppa && myconf="${myconf} --disable-o_direct"
-
- if use clvm; then
- myconf="${myconf} --with-cluster=${buildmode}"
- # 4-state! Make sure we get it right, per bug 210879
- # Valid options are: none, cman, gulm, all
- #
- # 2009/02:
- # gulm is removed now, now dual-state:
- # cman, none
- # all still exists, but is not needed
- #
- # 2009/07:
- # TODO: add corosync and re-enable ALL
- local clvmd=""
- use cman && clvmd="cman"
- #clvmd="${clvmd/cmangulm/all}"
- [ -z "${clvmd}" ] && clvmd="none"
- myconf="${myconf} --with-clvmd=${clvmd}"
- myconf="${myconf} --with-pool=${buildmode}"
- else
- myconf="${myconf} --with-clvmd=none --with-cluster=none"
- fi
-
- econf \
- $(use_enable readline) \
- $(use_enable selinux) \
- --enable-pkgconfig \
- --with-confdir="${EPREFIX}"/etc \
- --exec-prefix="${EPREFIX}" \
- --sbindir="${EPREFIX}/sbin" \
- --with-staticdir="${EPREFIX}"/sbin \
- --libdir="${EPREFIX}/$(get_libdir)" \
- --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)" \
- --with-default-dm-run-dir=/run \
- --with-default-run-dir=/run/lvm \
- --with-default-locking-dir=/run/lock/lvm \
- --with-default-pid-dir=/run \
- $(use_enable udev udev_rules) \
- $(use_enable udev udev_sync) \
- $(use_with udev udevdir "$(get_udevdir)"/rules.d) \
- $(use_enable systemd udev-systemd-background-jobs) \
- "$(systemd_with_unitdir)" \
- ${myconf} \
- CLDFLAGS="${LDFLAGS}"
-}
-
-src_compile() {
- pushd include >/dev/null
- emake
- popd >/dev/null
-
- if use device-mapper-only ; then
- emake device-mapper
- else
- emake
- emake CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
- fi
-}
-
-src_install() {
- local inst
- INSTALL_TARGETS="install install_systemd_units install_systemd_generators install_tmpfiles_configuration"
- use device-mapper-only && INSTALL_TARGETS="install_device-mapper"
- for inst in ${INSTALL_TARGETS}; do
- emake DESTDIR="${D}" ${inst}
- done
-
- newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
- newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
-
- if use !device-mapper-only ; then
- newinitd "${FILESDIR}"/dmeventd.initd-2.02.67-r1 dmeventd
- newinitd "${FILESDIR}"/lvm.rc-2.02.105-r2 lvm
- newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm
-
- newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
- newinitd "${FILESDIR}"/lvmetad.initd-2.02.105-r2 lvmetad
- fi
-
- if use clvm; then
- newinitd "${FILESDIR}"/clvmd.rc-2.02.39 clvmd
- newconfd "${FILESDIR}"/clvmd.confd-2.02.39 clvmd
- fi
-
- if use static-libs; then
- dolib.a libdm/ioctl/libdevmapper.a
- dolib.a libdaemon/client/libdaemonclient.a #462908
- #gen_usr_ldscript libdevmapper.so
- dolib.a daemons/dmeventd/libdevmapper-event.a
- #gen_usr_ldscript libdevmapper-event.so
- else
- rm -f "${ED}"usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
- fi
-
- if use lvm2create_initrd; then
- dosbin scripts/lvm2create_initrd/lvm2create_initrd
- doman scripts/lvm2create_initrd/lvm2create_initrd.8
- newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
- fi
-
- insinto /etc
- doins "${FILESDIR}"/dmtab
-
- dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
-}
-
-pkg_postinst() {
- ewarn "Make sure the \"lvm\" init script is in the runlevels:"
- ewarn "# rc-update add lvm boot"
- ewarn
- ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
- ewarn "to enable lvm autoactivation and metadata caching."
-}
-
-src_test() {
- einfo "Tests are disabled because of device-node mucking, if you want to"
- einfo "run tests, compile the package and see ${S}/tests"
-}
diff --git a/sys-fs/lvm2/lvm2-2.02.110.ebuild b/sys-fs/lvm2/lvm2-2.02.110.ebuild
deleted file mode 100644
index d90358a..0000000
--- a/sys-fs/lvm2/lvm2-2.02.110.ebuild
+++ /dev/null
@@ -1,272 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-inherit autotools eutils linux-info multilib systemd toolchain-funcs udev flag-o-matic
-
-DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
-HOMEPAGE="https://sources.redhat.com/lvm2/"
-SRC_URI="ftp://sources.redhat.com/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
- ftp://sources.redhat.com/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="readline static static-libs systemd clvm cman lvm1 lvm2create_initrd selinux +udev +thin device-mapper-only"
-REQUIRED_USE="device-mapper-only? ( !clvm !cman !lvm1 !lvm2create_initrd !thin )
- systemd? ( udev )
- static? ( !udev )" #520450
-
-DEPEND_COMMON="clvm? ( cman? ( =sys-cluster/cman-3* ) =sys-cluster/libdlm-3* )
- readline? ( sys-libs/readline:0= )
- udev? ( >=virtual/libudev-208:=[static-libs?] )"
-# /run is now required for locking during early boot. /var cannot be assumed to
-# be available -- thus, pull in recent enough baselayout for /run.
-# This version of LVM is incompatible with cryptsetup <1.1.2.
-RDEPEND="${DEPEND_COMMON}
- >=sys-apps/baselayout-2.2
- !<sys-apps/openrc-0.11
- !<sys-fs/cryptsetup-1.1.2
- !!sys-fs/clvm
- !!sys-fs/lvm-user
- >=sys-apps/util-linux-2.16
- lvm2create_initrd? ( sys-apps/makedev )
- thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
-# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
-DEPEND="${DEPEND_COMMON}
- virtual/pkgconfig
- >=sys-devel/binutils-2.20.1-r1
- static? (
- selinux? ( sys-libs/libselinux[static-libs] )
- udev? ( >=virtual/libudev-208:=[static-libs] )
- >=sys-apps/util-linux-2.16[static-libs]
- )"
-
-S=${WORKDIR}/${PN/lvm/LVM}.${PV}
-
-pkg_setup() {
- local CONFIG_CHECK="~SYSVIPC"
-
- if use udev; then
- local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
- if linux_config_exists; then
- local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
- if [ -n "${uevent_helper_path}" ] && [ "${uevent_helper_path}" != '""' ]; then
- ewarn "It's recommended to set an empty value to the following kernel config option:"
- ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
- fi
- fi
- fi
-
- check_extra_config
-
- # 1. Genkernel no longer copies /sbin/lvm blindly.
- if use static; then
- elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
- elog "their static versions. If you need the static binaries,"
- elog "you must append .static to the filename!"
- fi
-}
-
-src_prepare() {
- # Gentoo specific modification(s):
- epatch "${FILESDIR}"/${PN}-2.02.108-example.conf.in.patch
-
- sed -i \
- -e "1iAR = $(tc-getAR)" \
- -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
- make.tmpl.in || die #444082
-
- sed -i -e '/FLAG/s:-O2::' configure{.in,} || die #480212
-
- if use udev && ! use device-mapper-only; then
- sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196
- elog "Notice that \"use_lvmetad\" setting is enabled with USE=\"udev\" in"
- elog "/etc/lvm/lvm.conf, which will require restart of udev, lvm, and lvmetad"
- elog "if it was previously disabled."
- fi
-
- sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
-
- # For upstream -- review and forward:
- epatch "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
- epatch "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
- epatch "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
- epatch "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
- epatch "${FILESDIR}"/${PN}-2.02.70-asneeded.patch # -Wl,--as-needed
- epatch "${FILESDIR}"/${PN}-2.02.92-dynamic-static-ldflags.patch #332905
- epatch "${FILESDIR}"/${PN}-2.02.108-static-pkgconfig-libs.patch #370217, #439414 + blkid
- epatch "${FILESDIR}"/${PN}-2.02.106-pthread-pkgconfig.patch #492450
-
- # Without thin-privision-tools, there is nothing to install for target install_man7:
- use thin || { sed -i -e '/^install_lvm2/s:install_man7::' man/Makefile.in || die; }
-
- eautoreconf
-}
-
-src_configure() {
- filter-flags -flto
- local myconf
- local buildmode
-
- myconf="${myconf} $(use_enable !device-mapper-only dmeventd)"
- myconf="${myconf} $(use_enable !device-mapper-only cmdlib)"
- myconf="${myconf} $(use_enable !device-mapper-only applib)"
- myconf="${myconf} $(use_enable !device-mapper-only fsadm)"
- myconf="${myconf} $(use_enable !device-mapper-only lvmetad)"
- use device-mapper-only && myconf="${myconf} --disable-udev-systemd-background-jobs"
-
- # Most of this package does weird stuff.
- # The build options are tristate, and --without is NOT supported
- # options: 'none', 'internal', 'shared'
- if use static; then
- buildmode="internal"
- # This only causes the .static versions to become available
- myconf="${myconf} --enable-static_link"
- else
- buildmode="shared"
- fi
- dmbuildmode=$(use !device-mapper-only && echo internal || echo none)
-
- # dmeventd requires mirrors to be internal, and snapshot available
- # so we cannot disable them
- myconf="${myconf} --with-mirrors=${dmbuildmode}"
- myconf="${myconf} --with-snapshots=${dmbuildmode}"
- if use thin; then
- myconf="${myconf} --with-thin=internal --with-cache=internal"
- local texec
- for texec in check dump repair restore; do
- myconf="${myconf} --with-thin-${texec}=${EPREFIX}/sbin/thin_${texec}"
- myconf="${myconf} --with-cache-${texec}=${EPREFIX}/sbin/cache_${texec}"
- done
- else
- myconf="${myconf} --with-thin=none --with-cache=none"
- fi
-
- if use lvm1; then
- myconf="${myconf} --with-lvm1=${buildmode}"
- else
- myconf="${myconf} --with-lvm1=none"
- fi
-
- # disable O_DIRECT support on hppa, breaks pv detection (#99532)
- use hppa && myconf="${myconf} --disable-o_direct"
-
- if use clvm; then
- myconf="${myconf} --with-cluster=${buildmode}"
- # 4-state! Make sure we get it right, per bug 210879
- # Valid options are: none, cman, gulm, all
- #
- # 2009/02:
- # gulm is removed now, now dual-state:
- # cman, none
- # all still exists, but is not needed
- #
- # 2009/07:
- # TODO: add corosync and re-enable ALL
- local clvmd=""
- use cman && clvmd="cman"
- #clvmd="${clvmd/cmangulm/all}"
- [ -z "${clvmd}" ] && clvmd="none"
- myconf="${myconf} --with-clvmd=${clvmd}"
- myconf="${myconf} --with-pool=${buildmode}"
- else
- myconf="${myconf} --with-clvmd=none --with-cluster=none"
- fi
-
- econf \
- $(use_enable readline) \
- $(use_enable selinux) \
- --enable-pkgconfig \
- --with-confdir="${EPREFIX}"/etc \
- --exec-prefix="${EPREFIX}" \
- --sbindir="${EPREFIX}/sbin" \
- --with-staticdir="${EPREFIX}"/sbin \
- --libdir="${EPREFIX}/$(get_libdir)" \
- --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)" \
- --with-default-dm-run-dir=/run \
- --with-default-run-dir=/run/lvm \
- --with-default-locking-dir=/run/lock/lvm \
- --with-default-pid-dir=/run \
- $(use_enable udev udev_rules) \
- $(use_enable udev udev_sync) \
- $(use_with udev udevdir "$(get_udevdir)"/rules.d) \
- $(use_enable systemd udev-systemd-background-jobs) \
- "$(systemd_with_unitdir)" \
- ${myconf} \
- CLDFLAGS="${LDFLAGS}"
-}
-
-src_compile() {
- pushd include >/dev/null
- emake
- popd >/dev/null
-
- if use device-mapper-only ; then
- emake device-mapper
- else
- emake
- emake CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
- fi
-}
-
-src_install() {
- local inst
- INSTALL_TARGETS="install install_systemd_units install_systemd_generators install_tmpfiles_configuration"
- use device-mapper-only && INSTALL_TARGETS="install_device-mapper"
- for inst in ${INSTALL_TARGETS}; do
- emake DESTDIR="${D}" ${inst}
- done
-
- newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
- newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
-
- if use !device-mapper-only ; then
- newinitd "${FILESDIR}"/dmeventd.initd-2.02.67-r1 dmeventd
- newinitd "${FILESDIR}"/lvm.rc-2.02.105-r2 lvm
- newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm
-
- newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
- newinitd "${FILESDIR}"/lvmetad.initd-2.02.105-r2 lvmetad
- fi
-
- if use clvm; then
- newinitd "${FILESDIR}"/clvmd.rc-2.02.39 clvmd
- newconfd "${FILESDIR}"/clvmd.confd-2.02.39 clvmd
- fi
-
- if use static-libs; then
- dolib.a libdm/ioctl/libdevmapper.a
- dolib.a libdaemon/client/libdaemonclient.a #462908
- #gen_usr_ldscript libdevmapper.so
- dolib.a daemons/dmeventd/libdevmapper-event.a
- #gen_usr_ldscript libdevmapper-event.so
- else
- rm -f "${ED}"usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
- fi
-
- if use lvm2create_initrd; then
- dosbin scripts/lvm2create_initrd/lvm2create_initrd
- doman scripts/lvm2create_initrd/lvm2create_initrd.8
- newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
- fi
-
- insinto /etc
- doins "${FILESDIR}"/dmtab
-
- dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
-}
-
-pkg_postinst() {
- ewarn "Make sure the \"lvm\" init script is in the runlevels:"
- ewarn "# rc-update add lvm boot"
- ewarn
- ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
- ewarn "to enable lvm autoactivation and metadata caching."
-}
-
-src_test() {
- einfo "Tests are disabled because of device-node mucking, if you want to"
- einfo "run tests, compile the package and see ${S}/tests"
-}
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2016-04-20 3:58 Mike Frysinger
0 siblings, 0 replies; 29+ messages in thread
From: Mike Frysinger @ 2016-04-20 3:58 UTC (permalink / raw
To: gentoo-commits
commit: a45d3e7432ae37620b99109ee771b6f6016280ef
Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 20 03:55:14 2016 +0000
Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Wed Apr 20 03:57:30 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a45d3e74
sys-fs/lvm2: fix build w/newer glibc #580062
sys-fs/lvm2/files/lvm2-2.02.145-mkdev.patch | 127 ++++++++++++++++++++++++++++
sys-fs/lvm2/lvm2-2.02.145-r2.ebuild | 1 +
2 files changed, 128 insertions(+)
diff --git a/sys-fs/lvm2/files/lvm2-2.02.145-mkdev.patch b/sys-fs/lvm2/files/lvm2-2.02.145-mkdev.patch
new file mode 100644
index 0000000..f91dccd
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.02.145-mkdev.patch
@@ -0,0 +1,127 @@
+https://bugs.gentoo.org/580062
+
+From 2a1d0fa8ea765604cd8274aac5aa7876f1c145c9 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Tue, 19 Apr 2016 23:53:22 -0400
+Subject: [PATCH] convert major/minor/makedev handling
+
+Most of the files in here use MAJOR/MINOR/MKDEV macros, but a few
+missed it. Update the defines in those files to match them.
+---
+ daemons/cmirrord/functions.c | 16 ++++++++++++----
+ daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c | 12 ++++++++++--
+ lib/filters/filter-sysfs.c | 6 ++++--
+ 3 files changed, 26 insertions(+), 8 deletions(-)
+
+diff --git a/daemons/cmirrord/functions.c b/daemons/cmirrord/functions.c
+index e9d3c09..5b3cb38 100644
+--- a/daemons/cmirrord/functions.c
++++ b/daemons/cmirrord/functions.c
+@@ -20,6 +20,14 @@
+ #include <time.h>
+ #include <unistd.h>
+
++#ifdef __linux__
++# include "kdev_t.h"
++#else
++# define MAJOR(x) major((x))
++# define MINOR(x) minor((x))
++# define MKDEV(x,y) makedev((x),(y))
++#endif
++
+ #define BYTE_SHIFT 3
+
+ /*
+@@ -333,8 +341,8 @@ static int find_disk_path(char *major_minor_str, char *path_rtn, int *unlink_pat
+ continue;
+ }
+ if (S_ISBLK(statbuf.st_mode) &&
+- (major(statbuf.st_rdev) == major) &&
+- (minor(statbuf.st_rdev) == minor)) {
++ (MAJOR(statbuf.st_rdev) == major) &&
++ (MINOR(statbuf.st_rdev) == minor)) {
+ LOG_DBG(" %s: YES", dep->d_name);
+ if (closedir(dp))
+ LOG_DBG("Unable to closedir /dev/mapper %s",
+@@ -1451,7 +1459,7 @@ static int disk_status_info(struct log_c *lc, struct dm_ulog_request *rq)
+ }
+
+ r = sprintf(data, "3 clustered-disk %d:%d %c",
+- major(statbuf.st_rdev), minor(statbuf.st_rdev),
++ MAJOR(statbuf.st_rdev), MINOR(statbuf.st_rdev),
+ (lc->log_dev_failed) ? 'D' : 'A');
+ if (r < 0)
+ return r;
+@@ -1514,7 +1522,7 @@ static int disk_status_table(struct log_c *lc, struct dm_ulog_request *rq)
+ }
+
+ r = sprintf(data, "clustered-disk %d:%d %u %s%s ",
+- major(statbuf.st_rdev), minor(statbuf.st_rdev),
++ MAJOR(statbuf.st_rdev), MINOR(statbuf.st_rdev),
+ lc->region_size,
+ (lc->sync == DEFAULTSYNC) ? "" :
+ (lc->sync == NOSYNC) ? "nosync " : "sync ",
+diff --git a/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c b/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c
+index 7b060ed..4098203 100644
+--- a/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c
++++ b/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c
+@@ -20,6 +20,14 @@
+ #include <stdarg.h>
+ #include <pthread.h>
+
++#ifdef __linux__
++# include "kdev_t.h"
++#else
++# define MAJOR(x) major((x))
++# define MINOR(x) minor((x))
++# define MKDEV(x,y) makedev((x),(y))
++#endif
++
+ /* First warning when snapshot is 80% full. */
+ #define WARNING_THRESH (DM_PERCENT_1 * 80)
+ /* Run a check every 5%. */
+@@ -148,8 +156,8 @@ static void _umount(const char *device, int major, int minor)
+ continue; /* can't stat, skip this one */
+
+ if (S_ISBLK(st.st_mode) &&
+- major(st.st_rdev) == major &&
+- minor(st.st_rdev) == minor) {
++ MAJOR(st.st_rdev) == major &&
++ MINOR(st.st_rdev) == minor) {
+ log_error("Unmounting invalid snapshot %s from %s.", device, words[1]);
+ if (!_run(UMOUNT_COMMAND, "-fl", words[1], NULL))
+ log_error("Failed to umount snapshot %s from %s: %s.",
+diff --git a/lib/filters/filter-sysfs.c b/lib/filters/filter-sysfs.c
+index 3115f86..5f76e8b 100644
+--- a/lib/filters/filter-sysfs.c
++++ b/lib/filters/filter-sysfs.c
+@@ -19,6 +19,8 @@
+
+ #include <dirent.h>
+
++#include "kdev_t.h"
++
+ static int _locate_sysfs_blocks(const char *sysfs_dir, char *path, size_t len,
+ unsigned *sysfs_depth)
+ {
+@@ -120,7 +122,7 @@ static struct dev_set *_dev_set_create(struct dm_pool *mem,
+
+ static unsigned _hash_dev(dev_t dev)
+ {
+- return (major(dev) ^ minor(dev)) & (SET_BUCKETS - 1);
++ return (MAJOR(dev) ^ MINOR(dev)) & (SET_BUCKETS - 1);
+ }
+
+ /*
+@@ -171,7 +173,7 @@ static int _parse_dev(const char *file, FILE *fp, dev_t *result)
+ return 0;
+ }
+
+- *result = makedev(major, minor);
++ *result = MKDEV(major, minor);
+ return 1;
+ }
+
+--
+2.7.4
+
diff --git a/sys-fs/lvm2/lvm2-2.02.145-r2.ebuild b/sys-fs/lvm2/lvm2-2.02.145-r2.ebuild
index 4db87a2..0970c2f 100644
--- a/sys-fs/lvm2/lvm2-2.02.145-r2.ebuild
+++ b/sys-fs/lvm2/lvm2-2.02.145-r2.ebuild
@@ -68,6 +68,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-2.02.139-dynamic-static-ldflags.patch #332905
"${FILESDIR}"/${PN}-2.02.129-static-pkgconfig-libs.patch #370217, #439414 + blkid
"${FILESDIR}"/${PN}-2.02.130-pthread-pkgconfig.patch #492450
+ "${FILESDIR}"/${PN}-2.02.145-mkdev.patch #580062
)
pkg_setup() {
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2019-04-17 7:26 Robin H. Johnson
0 siblings, 0 replies; 29+ messages in thread
From: Robin H. Johnson @ 2019-04-17 7:26 UTC (permalink / raw
To: gentoo-commits
commit: 2c3d9335bfb904d55365b5a4f6470490021e3a91
Author: Manuel Ullmann <labre <AT> posteo <DOT> de>
AuthorDate: Sat Apr 13 12:06:22 2019 +0000
Commit: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Wed Apr 17 07:25:37 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2c3d9335
sys-fs/lvm2: fix race condition with udev stopping in lvm rc service
Maintainer Edit: don't add lvm2-2.02.183-r1, just move straight forward to .184-r2.
Fixes: https://bugs.gentoo.org/683240
Fixes: https://github.com/gentoo/gentoo/pull/11670
Package-Manager: Portage-2.3.62, Repoman-2.3.11
Signed-off-by: Manuel Ullmann <labre <AT> posteo.de>
(cherry picked from commit 9af3439dabcf6efe6a2df4459e06366dc6a330af)
Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>
sys-fs/lvm2/files/lvm.rc-2.02.183 | 149 ++++++++++++++++++++
sys-fs/lvm2/lvm2-2.02.184-r2.ebuild | 262 ++++++++++++++++++++++++++++++++++++
2 files changed, 411 insertions(+)
diff --git a/sys-fs/lvm2/files/lvm.rc-2.02.183 b/sys-fs/lvm2/files/lvm.rc-2.02.183
new file mode 100644
index 00000000000..d431fc72138
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm.rc-2.02.183
@@ -0,0 +1,149 @@
+#!/sbin/openrc-run
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+_get_lvm_path() {
+ local lvm_path=
+ for lvm_path in /bin/lvm /sbin/lvm ; do
+ [ -x "$lvm_path" ] && break
+ done
+ echo "${lvm_path}"
+}
+
+_need_lvmetad()
+{
+ local lvm_path="$(_get_lvm_path)"
+ [ ! -x "${lvm_path}" ] && return 1
+ ${lvm_path} dumpconfig global 2>/dev/null | grep -q 'use_lvmetad=1'
+}
+
+_need_lvmlockd()
+{
+ local lvm_path="$(_get_lvm_path)"
+ [ ! -x "${lvm_path}" ] && return 1
+ ${lvm_path} dumpconfig global 2>/dev/null | grep -q 'use_lvmlockd=1'
+}
+
+depend() {
+ before checkfs fsck
+ after modules device-mapper
+ # We may use lvmetad based on the configuration. If we added lvmetad
+ # support while lvm2 is running then we aren't dependent on it. For the
+ # more common case, if its disabled in the config we aren't dependent
+ # on it.
+ config /etc/lvm/lvm.conf
+ local _need=
+ if service_started; then
+ _need=$(service_get_value need)
+ else
+ if _need_lvmetad; then
+ _need="${_need} lvmetad"
+ fi
+ if _need_lvmlockd; then
+ _need="${_need} lvmlockd"
+ fi
+ fi
+ need sysfs udev ${_need}
+}
+
+config='global { locking_dir = "/run/lock/lvm" }'
+
+dm_in_proc() {
+ local retval=0
+ for x in devices misc ; do
+ grep -qs 'device-mapper' /proc/${x}
+ retval=$((${retval} + $?))
+ done
+ return ${retval}
+}
+
+start() {
+ # LVM support for /usr, /home, /opt ....
+ # This should be done *before* checking local
+ # volumes, or they never get checked.
+
+ # NOTE: Add needed modules for LVM or RAID, etc
+ # to /etc/modules.autoload if needed
+ lvm_path="$(_get_lvm_path)"
+ for lvm_path in /bin/lvm /sbin/lvm ; do
+ [ -x "$lvm_path" ] && break
+ done
+ if [ ! -x "$lvm_path" ]; then
+ eerror "Cannot find lvm binary in /sbin or /bin!"
+ return 1
+ fi
+ if [ -z "${CDBOOT}" ] ; then
+ if [ -e /proc/modules ] && ! dm_in_proc ; then
+ modprobe dm-mod 2>/dev/null
+ fi
+ if [ -d /proc/lvm ] || dm_in_proc ; then
+ ebegin "Setting up the Logical Volume Manager"
+ #still echo stderr for debugging
+ lvm_commands="#!${lvm_path}\n"
+ # Extra PV find pass because some devices might not have been available until very recently
+ lvm_commands="${lvm_commands}pvscan --config '${config}'\n"
+ # Now make the nodes
+ lvm_commands="${lvm_commands}vgscan --config '${config}' --mknodes\n"
+ # And turn them on!
+ lvm_commands="${lvm_commands}vgchange --config '${config}' --sysinit -a ly\n"
+ if _need_lvmlockd; then
+ # Start lockd VGs as required
+ lvm_commands="${lvm_commands}vgchange --config '${config}' --lock-start --lock-opt auto\n"
+ fi
+ # Order of this is important, have to work around dash and LVM readline
+ printf "%b\n" "${lvm_commands}" | $lvm_path /proc/self/fd/0 >/dev/null
+ eend $? "Failed to setup the LVM"
+ fi
+ fi
+}
+
+start_post()
+{
+ # Save if we needed lvmetad
+ if _need_lvmetad; then
+ service_set_value need lvmetad
+ fi
+}
+
+stop() {
+ for lvm_path in /bin/lvm /sbin/lvm ; do
+ [ -x "$lvm_path" ] && break
+ done
+ if [ ! -x "$lvm_path" ]; then
+ eerror "Cannot find lvm binary in /sbin or /bin!"
+ return 1
+ fi
+
+ # Stop LVM2
+ if [ -x /sbin/vgs ] && \
+ [ -x /sbin/vgchange ] && \
+ [ -x /sbin/lvchange ] && \
+ [ -f /etc/lvmtab -o -d /etc/lvm ] && \
+ [ -d /proc/lvm -o "`grep device-mapper /proc/misc 2>/dev/null`" ]
+ then
+ einfo "Shutting down the Logical Volume Manager"
+
+ VGS=$($lvm_path vgs --config "${config}" -o vg_name --noheadings --nosuffix --rows 2> /dev/null)
+
+ if [ "$VGS" ]
+ then
+ local _ending="eend"
+ [ "$RC_RUNLEVEL" = shutdown ] && _ending="ewend"
+ ebegin " Shutting Down LVs & VGs"
+ #still echo stderr for debugging
+ lvm_commands="#!${lvm_path}\n"
+ # Extra PV find pass because some devices might not have been available until very recently
+ lvm_commands="${lvm_commands}lvchange --config '${config}' --sysinit -a ln ${VGS}\n"
+ # Now make the nodes
+ lvm_commands="${lvm_commands}vgchange --config '${config}' --sysinit -a ln ${VGS}\n"
+ # Order of this is important, have to work around dash and LVM readline
+ printf "%b\n" "${lvm_commands}" | $lvm_path /proc/self/fd/0 --config "${config}" >/dev/null
+ ${_ending} $? "Failed (possibly some LVs still needed for /usr or root)"
+ fi
+
+ einfo "Finished shutting down the Logical Volume Manager"
+ return 0
+ fi
+}
+
+# vim:ts=4
diff --git a/sys-fs/lvm2/lvm2-2.02.184-r2.ebuild b/sys-fs/lvm2/lvm2-2.02.184-r2.ebuild
new file mode 100644
index 00000000000..64a1656d31b
--- /dev/null
+++ b/sys-fs/lvm2/lvm2-2.02.184-r2.ebuild
@@ -0,0 +1,262 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools linux-info multilib systemd toolchain-funcs udev flag-o-matic
+
+DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
+HOMEPAGE="https://sourceware.org/lvm2/"
+SRC_URI="ftp://sourceware.org/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
+ ftp://sourceware.org/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="readline static static-libs systemd lvm2create_initrd sanlock selinux +udev +thin device-mapper-only"
+REQUIRED_USE="device-mapper-only? ( !lvm2create_initrd !sanlock !thin )
+ systemd? ( udev )"
+
+DEPEND_COMMON="
+ dev-libs/libaio[static-libs?]
+ static? ( dev-libs/libaio[static-libs] )
+ !static? ( dev-libs/libaio[static-libs?] )
+ readline? ( sys-libs/readline:0= )
+ sanlock? ( sys-cluster/sanlock )
+ systemd? ( >=sys-apps/systemd-205:0= )
+ udev? ( >=virtual/libudev-208:=[static-libs?] )"
+# /run is now required for locking during early boot. /var cannot be assumed to
+# be available -- thus, pull in recent enough baselayout for /run.
+# This version of LVM is incompatible with cryptsetup <1.1.2.
+RDEPEND="${DEPEND_COMMON}
+ >=sys-apps/baselayout-2.2
+ !<sys-apps/openrc-0.11
+ !<sys-fs/cryptsetup-1.1.2
+ !!sys-fs/lvm-user
+ >=sys-apps/util-linux-2.16
+ lvm2create_initrd? ( sys-apps/makedev )
+ thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
+# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
+# USE 'static' currently only works with eudev, bug 520450
+DEPEND="${DEPEND_COMMON}
+ virtual/pkgconfig
+ >=sys-devel/binutils-2.20.1-r1
+ sys-devel/autoconf-archive
+ static? (
+ selinux? ( sys-libs/libselinux[static-libs] )
+ udev? ( >=sys-fs/eudev-3.1.2[static-libs] )
+ >=sys-apps/util-linux-2.16[static-libs]
+ )"
+
+S=${WORKDIR}/${PN/lvm/LVM}.${PV}
+
+PATCHES=(
+ # Gentoo specific modification(s):
+ "${FILESDIR}"/${PN}-2.02.178-example.conf.in.patch
+
+ # For upstream -- review and forward:
+ "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
+ "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
+ "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
+ "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
+ "${FILESDIR}"/${PN}-2.02.178-asneeded.patch # -Wl,--as-needed
+ "${FILESDIR}"/${PN}-2.02.178-dynamic-static-ldflags.patch #332905
+ "${FILESDIR}"/${PN}-2.02.178-static-pkgconfig-libs.patch #370217, #439414 + blkid
+ "${FILESDIR}"/${PN}-2.02.176-pthread-pkgconfig.patch #492450
+ "${FILESDIR}"/${PN}-2.02.171-static-libm.patch #617756
+ "${FILESDIR}"/${PN}-2.02.166-HPPA-no-O_DIRECT.patch #657446
+ #"${FILESDIR}"/${PN}-2.02.145-mkdev.patch #580062 # Merged upstream
+)
+
+pkg_setup() {
+ local CONFIG_CHECK="~SYSVIPC"
+
+ if use udev; then
+ local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
+ if linux_config_exists; then
+ local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
+ if [ -n "${uevent_helper_path}" ] && [ "${uevent_helper_path}" != '""' ]; then
+ ewarn "It's recommended to set an empty value to the following kernel config option:"
+ ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
+ fi
+ fi
+ fi
+
+ check_extra_config
+
+ # 1. Genkernel no longer copies /sbin/lvm blindly.
+ if use static; then
+ elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
+ elog "their static versions. If you need the static binaries,"
+ elog "you must append .static to the filename!"
+ fi
+}
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e "1iAR = $(tc-getAR)" \
+ -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
+ make.tmpl.in || die #444082
+
+ sed -i -e '/FLAG/s:-O2::' configure{.ac,} || die #480212
+
+ if use udev && ! use device-mapper-only; then
+ sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196
+ elog "Notice that \"use_lvmetad\" setting is enabled with USE=\"udev\" in"
+ elog "/etc/lvm/lvm.conf, which will require restart of udev, lvm, and lvmetad"
+ elog "if it was previously disabled."
+ fi
+
+ sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
+
+ # Without thin-privision-tools, there is nothing to install for target install_man7:
+ if ! use thin ; then
+ sed -i -e '/^install_lvm2/s:install_man7::' man/Makefile.in || die
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ filter-flags -flto
+ local myeconfargs=()
+
+ # Most of this package does weird stuff.
+ # The build options are tristate, and --without is NOT supported
+ # options: 'none', 'internal', 'shared'
+ myeconfargs+=(
+ $(use_enable !device-mapper-only dmfilemapd)
+ $(use_enable !device-mapper-only dmeventd)
+ $(use_enable !device-mapper-only cmdlib)
+ $(use_enable !device-mapper-only applib)
+ $(use_enable !device-mapper-only fsadm)
+ $(use_enable !device-mapper-only lvmetad)
+ $(use_enable !device-mapper-only lvmpolld)
+ $(usex device-mapper-only --disable-udev-systemd-background-jobs '')
+
+ # This only causes the .static versions to become available
+ $(usex static --enable-static_link '')
+
+ # dmeventd requires mirrors to be internal, and snapshot available
+ # so we cannot disable them
+ --with-mirrors="$(usex device-mapper-only none internal)"
+ --with-snapshots="$(usex device-mapper-only none internal)"
+
+ # disable O_DIRECT support on hppa, breaks pv detection (#99532)
+ $(usex hppa --disable-o_direct '')
+ )
+
+ if use thin; then
+ myeconfargs+=( --with-thin=internal --with-cache=internal )
+ local texec
+ for texec in check dump repair restore; do
+ myeconfargs+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
+ myeconfargs+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
+ done
+ else
+ myeconfargs+=( --with-thin=none --with-cache=none )
+ fi
+
+ myeconfargs+=( --with-clvmd=none --with-cluster=none )
+
+ myeconfargs+=(
+ $(use_enable readline)
+ $(use_enable selinux)
+ --enable-pkgconfig
+ --with-confdir="${EPREFIX}"/etc
+ --exec-prefix="${EPREFIX}"
+ --sbindir="${EPREFIX}/sbin"
+ --with-staticdir="${EPREFIX}"/sbin
+ --libdir="${EPREFIX}/$(get_libdir)"
+ --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)"
+ --with-default-dm-run-dir=/run
+ --with-default-run-dir=/run/lvm
+ --with-default-locking-dir=/run/lock/lvm
+ --with-default-pid-dir=/run
+ $(use_enable udev udev_rules)
+ $(use_enable udev udev_sync)
+ $(use_with udev udevdir "$(get_udevdir)"/rules.d)
+ $(use_enable sanlock lvmlockd-sanlock)
+ $(use_enable systemd udev-systemd-background-jobs)
+ $(use_enable systemd notify-dbus)
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ CLDFLAGS="${LDFLAGS}"
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ pushd include >/dev/null
+ emake
+ popd >/dev/null
+
+ if use device-mapper-only ; then
+ emake device-mapper
+ else
+ emake
+ emake CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
+ fi
+}
+
+src_install() {
+ local inst INSTALL_TARGETS
+ INSTALL_TARGETS=( install install_tmpfiles_configuration )
+ # install systemd related files only when requested, bug #522430
+ use systemd && INSTALL_TARGETS+=( install_systemd_units install_systemd_generators )
+ use device-mapper-only && INSTALL_TARGETS=( install_device-mapper )
+ for inst in ${INSTALL_TARGETS[@]}; do
+ emake DESTDIR="${D}" ${inst}
+ done
+
+ newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
+ newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
+
+ if use !device-mapper-only ; then
+ newinitd "${FILESDIR}"/dmeventd.initd-2.02.67-r1 dmeventd
+ newinitd "${FILESDIR}"/lvm.rc-2.02.183 lvm
+ newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm
+
+ newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
+ newinitd "${FILESDIR}"/lvmetad.initd-2.02.116-r3 lvmetad
+ newinitd "${FILESDIR}"/lvmpolld.initd-2.02.183 lvmpolld
+ fi
+
+ if use sanlock; then
+ newinitd "${FILESDIR}"/lvmlockd.initd-2.02.166-r1 lvmlockd
+ fi
+
+ if use static-libs; then
+ dolib.a libdm/ioctl/libdevmapper.a
+ dolib.a libdaemon/client/libdaemonclient.a #462908
+ #gen_usr_ldscript libdevmapper.so
+ dolib.a daemons/dmeventd/libdevmapper-event.a
+ #gen_usr_ldscript libdevmapper-event.so
+ else
+ rm -f "${ED%/}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
+ fi
+
+ if use lvm2create_initrd; then
+ dosbin scripts/lvm2create_initrd/lvm2create_initrd
+ doman scripts/lvm2create_initrd/lvm2create_initrd.8
+ newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
+ fi
+
+ insinto /etc
+ doins "${FILESDIR}"/dmtab
+
+ dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
+}
+
+pkg_postinst() {
+ ewarn "Make sure the \"lvm\" init script is in the runlevels:"
+ ewarn "# rc-update add lvm boot"
+ ewarn
+ ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
+ ewarn "to enable lvm autoactivation and metadata caching."
+}
+
+src_test() {
+ einfo "Tests are disabled because of device-node mucking, if you want to"
+ einfo "run tests, compile the package and see ${S}/tests"
+}
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2019-05-07 19:16 Robin H. Johnson
0 siblings, 0 replies; 29+ messages in thread
From: Robin H. Johnson @ 2019-05-07 19:16 UTC (permalink / raw
To: gentoo-commits
commit: 26a0538c6aa1a45c47d3a8b38e55a11516184359
Author: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Tue May 7 19:16:10 2019 +0000
Commit: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Tue May 7 19:16:36 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=26a0538c
sys-fs/lvm2: better USE=-udev init support
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>
sys-fs/lvm2/files/lvm.confd-2.02.184-r3 | 9 ++
sys-fs/lvm2/files/lvm.rc-2.02.184-r3 | 154 ++++++++++++++++++
sys-fs/lvm2/lvm2-2.02.184-r3.ebuild | 270 ++++++++++++++++++++++++++++++++
3 files changed, 433 insertions(+)
diff --git a/sys-fs/lvm2/files/lvm.confd-2.02.184-r3 b/sys-fs/lvm2/files/lvm.confd-2.02.184-r3
new file mode 100644
index 00000000000..b29e1702b35
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm.confd-2.02.184-r3
@@ -0,0 +1,9 @@
+# If LVM is built with udev, you must ensure udev is running first!
+# Otherwise it will hang
+rc_need="udev"
+
+# LVM should normally only be started after mdraid is available
+# this is because LVM physical volumes are very often MD devices.
+rc_after="mdraid"
+
+# vim: ft=gentoo-conf-d
diff --git a/sys-fs/lvm2/files/lvm.rc-2.02.184-r3 b/sys-fs/lvm2/files/lvm.rc-2.02.184-r3
new file mode 100644
index 00000000000..b48efb0c99a
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm.rc-2.02.184-r3
@@ -0,0 +1,154 @@
+#!/sbin/openrc-run
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+_get_lvm_path() {
+ local lvm_path=
+ for lvm_path in /bin/lvm /sbin/lvm ; do
+ [ -x "$lvm_path" ] && break
+ done
+ echo "${lvm_path}"
+}
+
+_need_lvmetad()
+{
+ local lvm_path="$(_get_lvm_path)"
+ [ ! -x "${lvm_path}" ] && return 1
+ ${lvm_path} dumpconfig global 2>/dev/null | grep -q 'use_lvmetad=1'
+}
+
+_need_lvmlockd()
+{
+ local lvm_path="$(_get_lvm_path)"
+ [ ! -x "${lvm_path}" ] && return 1
+ ${lvm_path} dumpconfig global 2>/dev/null | grep -q 'use_lvmlockd=1'
+}
+
+depend() {
+ before checkfs fsck
+ after modules device-mapper
+ # We may use lvmetad based on the configuration. If we added lvmetad
+ # support while lvm2 is running then we aren't dependent on it. For the
+ # more common case, if its disabled in the config we aren't dependent
+ # on it.
+ config /etc/lvm/lvm.conf
+ local _need=
+ if service_started; then
+ _need=$(service_get_value need)
+ else
+ if _need_lvmetad; then
+ _need="${_need} lvmetad"
+ fi
+ if _need_lvmlockd; then
+ _need="${_need} lvmlockd"
+ fi
+ fi
+ # Make sure you review /etc/conf.d/lvm as well!
+ # Depending on your system, it might also introduce udev & mdraid
+ need sysfs ${_need}
+}
+
+config='global { locking_dir = "/run/lock/lvm" }'
+
+dm_in_proc() {
+ local retval=0
+ for x in devices misc ; do
+ grep -qs 'device-mapper' /proc/${x}
+ retval=$((${retval} + $?))
+ done
+ return ${retval}
+}
+
+start() {
+ # LVM support for /usr, /home, /opt ....
+ # This should be done *before* checking local
+ # volumes, or they never get checked.
+
+ # NOTE: Add needed modules for LVM or RAID, etc
+ # to /etc/modules.autoload if needed
+ lvm_path="$(_get_lvm_path)"
+ for lvm_path in /bin/lvm /sbin/lvm ; do
+ [ -x "$lvm_path" ] && break
+ done
+ if [ ! -x "$lvm_path" ]; then
+ eerror "Cannot find lvm binary in /sbin or /bin!"
+ return 1
+ fi
+ if [ -z "${CDBOOT}" ] ; then
+ if [ -e /proc/modules ] && ! dm_in_proc ; then
+ modprobe dm-mod 2>/dev/null
+ fi
+ if [ -d /proc/lvm ] || dm_in_proc ; then
+ ebegin "Setting up the Logical Volume Manager"
+ #still echo stderr for debugging
+ lvm_commands="#!${lvm_path}\n"
+ # Extra PV find pass because some devices might not have been available until very recently
+ lvm_commands="${lvm_commands}pvscan --config '${config}'\n"
+ # Now make the nodes
+ lvm_commands="${lvm_commands}vgscan --config '${config}' --mknodes\n"
+ # And turn them on!
+ lvm_commands="${lvm_commands}vgchange --config '${config}' --sysinit -a ly\n"
+ if _need_lvmlockd; then
+ # Start lockd VGs as required
+ lvm_commands="${lvm_commands}vgchange --config '${config}' --lock-start --lock-opt auto\n"
+ fi
+ # Order of this is important, have to work around dash and LVM readline
+ printf "%b\n" "${lvm_commands}" | $lvm_path /proc/self/fd/0 >/dev/null
+ eend $? "Failed to setup the LVM"
+ fi
+ fi
+}
+
+start_post()
+{
+ # Save if we needed lvmetad
+ if _need_lvmetad; then
+ service_set_value need lvmetad
+ fi
+}
+
+stop() {
+ for lvm_path in /bin/lvm /sbin/lvm ; do
+ [ -x "$lvm_path" ] && break
+ done
+ if [ ! -x "$lvm_path" ]; then
+ eerror "Cannot find lvm binary in /sbin or /bin!"
+ return 1
+ fi
+
+ # Stop LVM2
+ if [ -x /sbin/vgs ] && \
+ [ -x /sbin/vgchange ] && \
+ [ -x /sbin/lvchange ] && \
+ [ -f /etc/lvmtab -o -d /etc/lvm ] && \
+ [ -d /proc/lvm -o "`grep device-mapper /proc/misc 2>/dev/null`" ]
+ then
+ einfo "Shutting down the Logical Volume Manager"
+
+ VGS=$($lvm_path vgs --config "${config}" -o vg_name --noheadings --nosuffix --rows 2> /dev/null)
+
+ if [ "$VGS" ]
+ then
+ local _ending="eend"
+ [ "$RC_RUNLEVEL" = shutdown ] && _ending="ewend"
+ ebegin " Shutting Down LVs & VGs"
+ #still echo stderr for debugging
+ lvm_commands="#!${lvm_path}\n"
+ # Extra PV find pass because some devices might not have been available until very recently
+ lvm_commands="${lvm_commands}lvchange --config '${config}' --sysinit -a ln ${VGS}\n"
+ # Now make the nodes
+ lvm_commands="${lvm_commands}vgchange --config '${config}' --sysinit -a ln ${VGS}\n"
+ # Order of this is important, have to work around dash and LVM readline
+ printf "%b\n" "${lvm_commands}" | $lvm_path /proc/self/fd/0 --config "${config}" >/dev/null
+ rc=$?
+ msg="Failed (possibly some LVs still needed for /usr or root)"
+ [ "$RC_RUNLEVEL" = shutdown ] && msg="${msg} [rc=$rc]" && rc=0
+ ${_ending} $rc "${msg}"
+ fi
+
+ einfo "Finished shutting down the Logical Volume Manager"
+ return 0
+ fi
+}
+
+# vim:ts=4
diff --git a/sys-fs/lvm2/lvm2-2.02.184-r3.ebuild b/sys-fs/lvm2/lvm2-2.02.184-r3.ebuild
new file mode 100644
index 00000000000..0665b359447
--- /dev/null
+++ b/sys-fs/lvm2/lvm2-2.02.184-r3.ebuild
@@ -0,0 +1,270 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools linux-info multilib systemd toolchain-funcs udev flag-o-matic
+
+DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
+HOMEPAGE="https://sourceware.org/lvm2/"
+SRC_URI="ftp://sourceware.org/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
+ ftp://sourceware.org/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="readline static static-libs systemd lvm2create_initrd sanlock selinux +udev +thin device-mapper-only"
+REQUIRED_USE="device-mapper-only? ( !lvm2create_initrd !sanlock !thin )
+ systemd? ( udev )"
+
+DEPEND_COMMON="
+ dev-libs/libaio[static-libs?]
+ static? ( dev-libs/libaio[static-libs] )
+ !static? ( dev-libs/libaio[static-libs?] )
+ readline? ( sys-libs/readline:0= )
+ sanlock? ( sys-cluster/sanlock )
+ systemd? ( >=sys-apps/systemd-205:0= )
+ udev? ( >=virtual/libudev-208:=[static-libs?] )"
+# /run is now required for locking during early boot. /var cannot be assumed to
+# be available -- thus, pull in recent enough baselayout for /run.
+# This version of LVM is incompatible with cryptsetup <1.1.2.
+RDEPEND="${DEPEND_COMMON}
+ >=sys-apps/baselayout-2.2
+ !<sys-apps/openrc-0.11
+ !<sys-fs/cryptsetup-1.1.2
+ !!sys-fs/lvm-user
+ >=sys-apps/util-linux-2.16
+ lvm2create_initrd? ( sys-apps/makedev )
+ thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
+# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
+# USE 'static' currently only works with eudev, bug 520450
+DEPEND="${DEPEND_COMMON}
+ virtual/pkgconfig
+ >=sys-devel/binutils-2.20.1-r1
+ sys-devel/autoconf-archive
+ static? (
+ selinux? ( sys-libs/libselinux[static-libs] )
+ udev? ( >=sys-fs/eudev-3.1.2[static-libs] )
+ >=sys-apps/util-linux-2.16[static-libs]
+ )"
+
+S=${WORKDIR}/${PN/lvm/LVM}.${PV}
+
+PATCHES=(
+ # Gentoo specific modification(s):
+ "${FILESDIR}"/${PN}-2.02.178-example.conf.in.patch
+
+ # For upstream -- review and forward:
+ "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
+ "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
+ "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
+ "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
+ "${FILESDIR}"/${PN}-2.02.178-asneeded.patch # -Wl,--as-needed
+ "${FILESDIR}"/${PN}-2.02.178-dynamic-static-ldflags.patch #332905
+ "${FILESDIR}"/${PN}-2.02.178-static-pkgconfig-libs.patch #370217, #439414 + blkid
+ "${FILESDIR}"/${PN}-2.02.176-pthread-pkgconfig.patch #492450
+ "${FILESDIR}"/${PN}-2.02.171-static-libm.patch #617756
+ "${FILESDIR}"/${PN}-2.02.166-HPPA-no-O_DIRECT.patch #657446
+ #"${FILESDIR}"/${PN}-2.02.145-mkdev.patch #580062 # Merged upstream
+ "${FILESDIR}"/${PN}-2.02.184-dmeventd-no-idle-exit.patch
+)
+
+pkg_setup() {
+ local CONFIG_CHECK="~SYSVIPC"
+
+ if use udev; then
+ local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
+ if linux_config_exists; then
+ local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
+ if [ -n "${uevent_helper_path}" ] && [ "${uevent_helper_path}" != '""' ]; then
+ ewarn "It's recommended to set an empty value to the following kernel config option:"
+ ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
+ fi
+ fi
+ fi
+
+ check_extra_config
+
+ # 1. Genkernel no longer copies /sbin/lvm blindly.
+ if use static; then
+ elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
+ elog "their static versions. If you need the static binaries,"
+ elog "you must append .static to the filename!"
+ fi
+}
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e "1iAR = $(tc-getAR)" \
+ -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
+ make.tmpl.in || die #444082
+
+ sed -i -e '/FLAG/s:-O2::' configure{.ac,} || die #480212
+
+ if use udev && ! use device-mapper-only; then
+ sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196
+ elog "Notice that \"use_lvmetad\" setting is enabled with USE=\"udev\" in"
+ elog "/etc/lvm/lvm.conf, which will require restart of udev, lvm, and lvmetad"
+ elog "if it was previously disabled."
+ fi
+
+ sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
+
+ # Without thin-privision-tools, there is nothing to install for target install_man7:
+ if ! use thin ; then
+ sed -i -e '/^install_lvm2/s:install_man7::' man/Makefile.in || die
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ filter-flags -flto
+ local myeconfargs=()
+
+ # Most of this package does weird stuff.
+ # The build options are tristate, and --without is NOT supported
+ # options: 'none', 'internal', 'shared'
+ myeconfargs+=(
+ $(use_enable !device-mapper-only dmfilemapd)
+ $(use_enable !device-mapper-only dmeventd)
+ $(use_enable !device-mapper-only cmdlib)
+ $(use_enable !device-mapper-only applib)
+ $(use_enable !device-mapper-only fsadm)
+ $(use_enable !device-mapper-only lvmetad)
+ $(use_enable !device-mapper-only lvmpolld)
+ $(usex device-mapper-only --disable-udev-systemd-background-jobs '')
+
+ # This only causes the .static versions to become available
+ $(usex static --enable-static_link '')
+
+ # dmeventd requires mirrors to be internal, and snapshot available
+ # so we cannot disable them
+ --with-mirrors="$(usex device-mapper-only none internal)"
+ --with-snapshots="$(usex device-mapper-only none internal)"
+
+ # disable O_DIRECT support on hppa, breaks pv detection (#99532)
+ $(usex hppa --disable-o_direct '')
+ )
+
+ if use thin; then
+ myeconfargs+=( --with-thin=internal --with-cache=internal )
+ local texec
+ for texec in check dump repair restore; do
+ myeconfargs+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
+ myeconfargs+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
+ done
+ else
+ myeconfargs+=( --with-thin=none --with-cache=none )
+ fi
+
+ myeconfargs+=( --with-clvmd=none --with-cluster=none )
+
+ myeconfargs+=(
+ $(use_enable readline)
+ $(use_enable selinux)
+ --enable-pkgconfig
+ --with-confdir="${EPREFIX}"/etc
+ --exec-prefix="${EPREFIX}"
+ --sbindir="${EPREFIX}/sbin"
+ --with-staticdir="${EPREFIX}"/sbin
+ --libdir="${EPREFIX}/$(get_libdir)"
+ --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)"
+ --with-default-dm-run-dir=/run
+ --with-default-run-dir=/run/lvm
+ --with-default-locking-dir=/run/lock/lvm
+ --with-default-pid-dir=/run
+ $(use_enable udev udev_rules)
+ $(use_enable udev udev_sync)
+ $(use_with udev udevdir "$(get_udevdir)"/rules.d)
+ $(use_enable sanlock lvmlockd-sanlock)
+ $(use_enable systemd udev-systemd-background-jobs)
+ $(use_enable systemd notify-dbus)
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ CLDFLAGS="${LDFLAGS}"
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ pushd include >/dev/null
+ emake
+ popd >/dev/null
+
+ if use device-mapper-only ; then
+ emake device-mapper
+ else
+ emake
+ emake CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
+ fi
+}
+
+src_install() {
+ local inst INSTALL_TARGETS
+ INSTALL_TARGETS=( install install_tmpfiles_configuration )
+ # install systemd related files only when requested, bug #522430
+ use systemd && INSTALL_TARGETS+=( install_systemd_units install_systemd_generators )
+ use device-mapper-only && INSTALL_TARGETS=( install_device-mapper )
+ for inst in ${INSTALL_TARGETS[@]}; do
+ emake DESTDIR="${D}" ${inst}
+ done
+
+ newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
+ newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
+
+ if use !device-mapper-only ; then
+ newinitd "${FILESDIR}"/dmeventd.initd-2.02.184-r2 dmeventd
+ newinitd "${FILESDIR}"/lvm.rc-2.02.184-r3 lvm
+ newconfd "${FILESDIR}"/lvm.confd-2.02.184-r3 lvm
+ if ! use udev ; then
+ # We keep the variable but remove udev from it.
+ sed -r -i \
+ -e '/^rc_need=/s/\<udev\>//g' \
+ "${ED}/etc/conf.d/lvm" || die "Could not drop udev from rc_need"
+ fi
+
+
+ newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
+ newinitd "${FILESDIR}"/lvmetad.initd-2.02.116-r3 lvmetad
+ newinitd "${FILESDIR}"/lvmpolld.initd-2.02.183 lvmpolld
+ fi
+
+ if use sanlock; then
+ newinitd "${FILESDIR}"/lvmlockd.initd-2.02.166-r1 lvmlockd
+ fi
+
+ if use static-libs; then
+ dolib.a libdm/ioctl/libdevmapper.a
+ dolib.a libdaemon/client/libdaemonclient.a #462908
+ #gen_usr_ldscript libdevmapper.so
+ dolib.a daemons/dmeventd/libdevmapper-event.a
+ #gen_usr_ldscript libdevmapper-event.so
+ else
+ rm -f "${ED%/}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
+ fi
+
+ if use lvm2create_initrd; then
+ dosbin scripts/lvm2create_initrd/lvm2create_initrd
+ doman scripts/lvm2create_initrd/lvm2create_initrd.8
+ newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
+ fi
+
+ insinto /etc
+ doins "${FILESDIR}"/dmtab
+
+ dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
+}
+
+pkg_postinst() {
+ ewarn "Make sure the \"lvm\" init script is in the runlevels:"
+ ewarn "# rc-update add lvm boot"
+ ewarn
+ ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
+ ewarn "to enable lvm autoactivation and metadata caching."
+}
+
+src_test() {
+ einfo "Tests are disabled because of device-node mucking, if you want to"
+ einfo "run tests, compile the package and see ${S}/tests"
+}
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2019-06-18 5:27 Robin H. Johnson
0 siblings, 0 replies; 29+ messages in thread
From: Robin H. Johnson @ 2019-06-18 5:27 UTC (permalink / raw
To: gentoo-commits
commit: 5a186b6d1089b239eb764c563d93c5d532152a20
Author: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 18 05:25:22 2019 +0000
Commit: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Tue Jun 18 05:27:16 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5a186b6d
sys-fs/lvm2: bump, bugfix release from upstream, stable candidate
Package-Manager: Portage-2.3.67, Repoman-2.3.12
Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>
sys-fs/lvm2/Manifest | 1 +
sys-fs/lvm2/files/device-mapper.rc-2.02.105-r2 | 2 +-
sys-fs/lvm2/files/dmeventd.initd-2.02.67-r1 | 2 +-
sys-fs/lvm2/files/lvm-monitoring.initd-2.02.105-r2 | 2 +-
sys-fs/lvm2/files/lvm.rc-2.02.105-r2 | 2 +-
sys-fs/lvm2/files/lvm.rc-2.02.116-r6 | 2 +-
sys-fs/lvm2/files/lvm.rc-2.02.172 | 2 +-
sys-fs/lvm2/files/lvmetad.initd-2.02.105-r2 | 2 +-
sys-fs/lvm2/files/lvmetad.initd-2.02.116-r3 | 2 +-
sys-fs/lvm2/files/lvmlockd.initd-2.02.166-r1 | 2 +-
sys-fs/lvm2/lvm2-2.02.145-r2.ebuild | 2 +-
...vm2-2.02.145-r2.ebuild => lvm2-2.02.185.ebuild} | 180 +++++++++++----------
12 files changed, 108 insertions(+), 93 deletions(-)
diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest
index fa9cdc1b27e..bf3cba8c8b2 100644
--- a/sys-fs/lvm2/Manifest
+++ b/sys-fs/lvm2/Manifest
@@ -2,3 +2,4 @@ DIST LVM2.2.02.116.tgz 1538340 BLAKE2B 718261b60626f2eca5ba13011646bf551523ed8e5
DIST LVM2.2.02.145.tgz 1986370 BLAKE2B 0c9e5efae17f26ff86152cecbf0b11a74e85007b2fa9491f44dec03ac8c11375bacf6685213b4be19037c8fbf70e13549516716ecf8fa262919a44625e6aab34 SHA512 84e28b3efc940837ea9da70fce620744aea0945ba29383b76ad7bcd4b5259b897c714162a8e8b7cfe26ae736a3ad2eca633a3e0df4d6280a32b28bd4cf472d27
DIST LVM2.2.02.183.tgz 2380574 BLAKE2B b1fe71b6cdb8ee20dd53d0ad3399c553487baafa12657ec81a794c84ad161988afdb8693ac247877a2645d693a0740c74c8b991047ed2ba4adc9ec75f1c261a9 SHA512 3947523c6b0862ada40677ed171ed0cf95e070119e377296fc5ccb153e9c4212d34c0b16a887dbd68ccf265525345dabfed2aa59fb3604555429a7e2ecfff4d7
DIST LVM2.2.02.184.tgz 2383698 BLAKE2B b6e308d76d541b9461dfcc6e82db256a175ccdabfae9c9d57d84eabd0d5ea50e3e09954b34741903e027412c2c26f72a5005fe934261576337a810738139deb8 SHA512 9db74f675e7c58f663a39afb79b6f33a33ad2cfbda63e9783ef5027f33977b4a1262a2e6754aa67c586eed083ee119a2e837c32a7746dcc53f13877c9d65c390
+DIST LVM2.2.02.185.tgz 2386328 BLAKE2B d2e31de3eedd7518ea2d239cb9b36b38e351d7fc070097a1fc4e7934e3636195da3247fba57d684bb0b31b7f3dbdfe29161bd121b2962b2c35c8c9d7914b4506 SHA512 f421505551aec2a09bc862f2fcc1ee825bc4d94c53a01d13265631e99308d60fbca40112be5bc7824cce3ef223c0775d2f6c345f6a3f227229a0566c903841bf
diff --git a/sys-fs/lvm2/files/device-mapper.rc-2.02.105-r2 b/sys-fs/lvm2/files/device-mapper.rc-2.02.105-r2
index 7dbacce0d94..79fdff246fb 100644
--- a/sys-fs/lvm2/files/device-mapper.rc-2.02.105-r2
+++ b/sys-fs/lvm2/files/device-mapper.rc-2.02.105-r2
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
depend() {
diff --git a/sys-fs/lvm2/files/dmeventd.initd-2.02.67-r1 b/sys-fs/lvm2/files/dmeventd.initd-2.02.67-r1
index 930e84baa86..f77996caa57 100644
--- a/sys-fs/lvm2/files/dmeventd.initd-2.02.67-r1
+++ b/sys-fs/lvm2/files/dmeventd.initd-2.02.67-r1
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
PIDFILE=/run/dmeventd.pid
diff --git a/sys-fs/lvm2/files/lvm-monitoring.initd-2.02.105-r2 b/sys-fs/lvm2/files/lvm-monitoring.initd-2.02.105-r2
index d603718cc22..914d6637c7a 100644
--- a/sys-fs/lvm2/files/lvm-monitoring.initd-2.02.105-r2
+++ b/sys-fs/lvm2/files/lvm-monitoring.initd-2.02.105-r2
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# This script is based on upstream file
diff --git a/sys-fs/lvm2/files/lvm.rc-2.02.105-r2 b/sys-fs/lvm2/files/lvm.rc-2.02.105-r2
index c59f9c3c878..937db047d19 100644
--- a/sys-fs/lvm2/files/lvm.rc-2.02.105-r2
+++ b/sys-fs/lvm2/files/lvm.rc-2.02.105-r2
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
depend() {
diff --git a/sys-fs/lvm2/files/lvm.rc-2.02.116-r6 b/sys-fs/lvm2/files/lvm.rc-2.02.116-r6
index 1bf075fae3e..cf430c6654d 100644
--- a/sys-fs/lvm2/files/lvm.rc-2.02.116-r6
+++ b/sys-fs/lvm2/files/lvm.rc-2.02.116-r6
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
_get_lvm_path() {
diff --git a/sys-fs/lvm2/files/lvm.rc-2.02.172 b/sys-fs/lvm2/files/lvm.rc-2.02.172
index c3f1f08f399..82037b28adf 100644
--- a/sys-fs/lvm2/files/lvm.rc-2.02.172
+++ b/sys-fs/lvm2/files/lvm.rc-2.02.172
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
_get_lvm_path() {
diff --git a/sys-fs/lvm2/files/lvmetad.initd-2.02.105-r2 b/sys-fs/lvm2/files/lvmetad.initd-2.02.105-r2
index c95a47d5be5..565f49c7c42 100644
--- a/sys-fs/lvm2/files/lvmetad.initd-2.02.105-r2
+++ b/sys-fs/lvm2/files/lvmetad.initd-2.02.105-r2
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
pidfile="/run/lvmetad.pid"
diff --git a/sys-fs/lvm2/files/lvmetad.initd-2.02.116-r3 b/sys-fs/lvm2/files/lvmetad.initd-2.02.116-r3
index 2efce4223e5..55bbf9c4b63 100644
--- a/sys-fs/lvm2/files/lvmetad.initd-2.02.116-r3
+++ b/sys-fs/lvm2/files/lvmetad.initd-2.02.116-r3
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
pidfile="/run/lvmetad.pid"
diff --git a/sys-fs/lvm2/files/lvmlockd.initd-2.02.166-r1 b/sys-fs/lvm2/files/lvmlockd.initd-2.02.166-r1
index 16e2cc3f12b..8b5986fae24 100644
--- a/sys-fs/lvm2/files/lvmlockd.initd-2.02.166-r1
+++ b/sys-fs/lvm2/files/lvmlockd.initd-2.02.166-r1
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
pidfile="/run/lvmlockd.pid"
diff --git a/sys-fs/lvm2/lvm2-2.02.145-r2.ebuild b/sys-fs/lvm2/lvm2-2.02.145-r2.ebuild
index 2890ca59239..31435ff9d05 100644
--- a/sys-fs/lvm2/lvm2-2.02.145-r2.ebuild
+++ b/sys-fs/lvm2/lvm2-2.02.145-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
diff --git a/sys-fs/lvm2/lvm2-2.02.145-r2.ebuild b/sys-fs/lvm2/lvm2-2.02.185.ebuild
similarity index 53%
copy from sys-fs/lvm2/lvm2-2.02.145-r2.ebuild
copy to sys-fs/lvm2/lvm2-2.02.185.ebuild
index 2890ca59239..f82f1a6846b 100644
--- a/sys-fs/lvm2/lvm2-2.02.145-r2.ebuild
+++ b/sys-fs/lvm2/lvm2-2.02.185.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
-inherit autotools eutils linux-info multilib systemd toolchain-funcs udev flag-o-matic
+inherit autotools linux-info multilib systemd toolchain-funcs udev flag-o-matic
DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
HOMEPAGE="https://sourceware.org/lvm2/"
@@ -11,13 +11,17 @@ SRC_URI="ftp://sourceware.org/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-linux ~x86-linux"
-IUSE="readline static static-libs systemd lvm1 lvm2create_initrd selinux +udev +thin device-mapper-only"
-REQUIRED_USE="device-mapper-only? ( !lvm1 !lvm2create_initrd !thin )
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="readline static static-libs systemd lvm2create_initrd sanlock selinux +udev +thin device-mapper-only"
+REQUIRED_USE="device-mapper-only? ( !lvm2create_initrd !sanlock !thin )
systemd? ( udev )"
DEPEND_COMMON="
+ dev-libs/libaio[static-libs?]
+ static? ( dev-libs/libaio[static-libs] )
+ !static? ( dev-libs/libaio[static-libs?] )
readline? ( sys-libs/readline:0= )
+ sanlock? ( sys-cluster/sanlock )
systemd? ( >=sys-apps/systemd-205:0= )
udev? ( >=virtual/libudev-208:=[static-libs?] )"
# /run is now required for locking during early boot. /var cannot be assumed to
@@ -47,18 +51,22 @@ S=${WORKDIR}/${PN/lvm/LVM}.${PV}
PATCHES=(
# Gentoo specific modification(s):
- "${FILESDIR}"/${PN}-2.02.129-example.conf.in.patch
+ "${FILESDIR}"/${PN}-2.02.178-example.conf.in.patch
# For upstream -- review and forward:
"${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
"${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
"${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
"${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
- "${FILESDIR}"/${PN}-2.02.70-asneeded.patch # -Wl,--as-needed
- "${FILESDIR}"/${PN}-2.02.139-dynamic-static-ldflags.patch #332905
- "${FILESDIR}"/${PN}-2.02.129-static-pkgconfig-libs.patch #370217, #439414 + blkid
- "${FILESDIR}"/${PN}-2.02.130-pthread-pkgconfig.patch #492450
- "${FILESDIR}"/${PN}-2.02.145-mkdev.patch #580062
+ "${FILESDIR}"/${PN}-2.02.178-asneeded.patch # -Wl,--as-needed
+ "${FILESDIR}"/${PN}-2.02.178-dynamic-static-ldflags.patch #332905
+ "${FILESDIR}"/${PN}-2.02.178-static-pkgconfig-libs.patch #370217, #439414 + blkid
+ "${FILESDIR}"/${PN}-2.02.176-pthread-pkgconfig.patch #492450
+ "${FILESDIR}"/${PN}-2.02.171-static-libm.patch #617756
+ "${FILESDIR}"/${PN}-2.02.166-HPPA-no-O_DIRECT.patch #657446
+ #"${FILESDIR}"/${PN}-2.02.145-mkdev.patch #580062 # Merged upstream
+ "${FILESDIR}"/${PN}-2.02.184-dmeventd-no-idle-exit.patch
+ #"${FILESDIR}"/${PN}-2.02.184-allow-reading-metadata-with-invalid-creation_time.patch #682380 # merged upstream
)
pkg_setup() {
@@ -93,7 +101,7 @@ src_prepare() {
-e "s:CC ?= @CC@:CC = $(tc-getCC):" \
make.tmpl.in || die #444082
- sed -i -e '/FLAG/s:-O2::' configure{.in,} || die #480212
+ sed -i -e '/FLAG/s:-O2::' configure{.ac,} || die #480212
if use udev && ! use device-mapper-only; then
sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196
@@ -105,82 +113,79 @@ src_prepare() {
sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
# Without thin-privision-tools, there is nothing to install for target install_man7:
- use thin || { sed -i -e '/^install_lvm2/s:install_man7::' man/Makefile.in || die; }
+ if ! use thin ; then
+ sed -i -e '/^install_lvm2/s:install_man7::' man/Makefile.in || die
+ fi
eautoreconf
}
src_configure() {
filter-flags -flto
- local myconf=()
- local buildmode
-
- myconf+=( $(use_enable !device-mapper-only dmeventd) )
- myconf+=( $(use_enable !device-mapper-only cmdlib) )
- myconf+=( $(use_enable !device-mapper-only applib) )
- myconf+=( $(use_enable !device-mapper-only fsadm) )
- myconf+=( $(use_enable !device-mapper-only lvmetad) )
- use device-mapper-only && myconf+=( --disable-udev-systemd-background-jobs )
+ local myeconfargs=()
# Most of this package does weird stuff.
# The build options are tristate, and --without is NOT supported
# options: 'none', 'internal', 'shared'
- if use static; then
- buildmode="internal"
+ myeconfargs+=(
+ $(use_enable !device-mapper-only dmfilemapd)
+ $(use_enable !device-mapper-only dmeventd)
+ $(use_enable !device-mapper-only cmdlib)
+ $(use_enable !device-mapper-only applib)
+ $(use_enable !device-mapper-only fsadm)
+ $(use_enable !device-mapper-only lvmetad)
+ $(use_enable !device-mapper-only lvmpolld)
+ $(usex device-mapper-only --disable-udev-systemd-background-jobs '')
+
# This only causes the .static versions to become available
- myconf+=( --enable-static_link )
- else
- buildmode="shared"
- fi
- dmbuildmode=$(use !device-mapper-only && echo internal || echo none)
+ $(usex static --enable-static_link '')
+
+ # dmeventd requires mirrors to be internal, and snapshot available
+ # so we cannot disable them
+ --with-mirrors="$(usex device-mapper-only none internal)"
+ --with-snapshots="$(usex device-mapper-only none internal)"
+
+ # disable O_DIRECT support on hppa, breaks pv detection (#99532)
+ $(usex hppa --disable-o_direct '')
+ )
- # dmeventd requires mirrors to be internal, and snapshot available
- # so we cannot disable them
- myconf+=( --with-mirrors=${dmbuildmode} )
- myconf+=( --with-snapshots=${dmbuildmode} )
if use thin; then
- myconf+=( --with-thin=internal --with-cache=internal )
+ myeconfargs+=( --with-thin=internal --with-cache=internal )
local texec
for texec in check dump repair restore; do
- myconf+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
- myconf+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
+ myeconfargs+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
+ myeconfargs+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
done
else
- myconf+=( --with-thin=none --with-cache=none )
+ myeconfargs+=( --with-thin=none --with-cache=none )
fi
- if use lvm1; then
- myconf+=( --with-lvm1=${buildmode} )
- else
- myconf+=( --with-lvm1=none )
- fi
-
- # disable O_DIRECT support on hppa, breaks pv detection (#99532)
- use hppa && myconf+=( --disable-o_direct )
-
- myconf+=( --with-clvmd=none --with-cluster=none )
-
- econf \
- $(use_enable readline) \
- $(use_enable selinux) \
- --enable-pkgconfig \
- --with-confdir="${EPREFIX}"/etc \
- --exec-prefix="${EPREFIX}" \
- --sbindir="${EPREFIX}/sbin" \
- --with-staticdir="${EPREFIX}"/sbin \
- --libdir="${EPREFIX}/$(get_libdir)" \
- --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)" \
- --with-default-dm-run-dir=/run \
- --with-default-run-dir=/run/lvm \
- --with-default-locking-dir=/run/lock/lvm \
- --with-default-pid-dir=/run \
- $(use_enable udev udev_rules) \
- $(use_enable udev udev_sync) \
- $(use_with udev udevdir "$(get_udevdir)"/rules.d) \
- $(use_enable systemd udev-systemd-background-jobs) \
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \
- ${myconf[@]} \
+ myeconfargs+=( --with-clvmd=none --with-cluster=none )
+
+ myeconfargs+=(
+ $(use_enable readline)
+ $(use_enable selinux)
+ --enable-pkgconfig
+ --with-confdir="${EPREFIX}"/etc
+ --exec-prefix="${EPREFIX}"
+ --sbindir="${EPREFIX}/sbin"
+ --with-staticdir="${EPREFIX}"/sbin
+ --libdir="${EPREFIX}/$(get_libdir)"
+ --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)"
+ --with-default-dm-run-dir=/run
+ --with-default-run-dir=/run/lvm
+ --with-default-locking-dir=/run/lock/lvm
+ --with-default-pid-dir=/run
+ $(use_enable udev udev_rules)
+ $(use_enable udev udev_sync)
+ $(use_with udev udevdir "$(get_udevdir)"/rules.d)
+ $(use_enable sanlock lvmlockd-sanlock)
+ $(use_enable systemd udev-systemd-background-jobs)
+ $(use_enable systemd notify-dbus)
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
CLDFLAGS="${LDFLAGS}"
+ )
+ econf "${myeconfargs[@]}"
}
src_compile() {
@@ -197,12 +202,12 @@ src_compile() {
}
src_install() {
- local inst
- INSTALL_TARGETS="install install_tmpfiles_configuration"
+ local inst INSTALL_TARGETS
+ INSTALL_TARGETS=( install install_tmpfiles_configuration )
# install systemd related files only when requested, bug #522430
- use systemd && INSTALL_TARGETS="${INSTALL_TARGETS} install_systemd_units install_systemd_generators"
- use device-mapper-only && INSTALL_TARGETS="install_device-mapper"
- for inst in ${INSTALL_TARGETS}; do
+ use systemd && INSTALL_TARGETS+=( install_systemd_units install_systemd_generators )
+ use device-mapper-only && INSTALL_TARGETS=( install_device-mapper )
+ for inst in ${INSTALL_TARGETS[@]}; do
emake DESTDIR="${D}" ${inst}
done
@@ -210,24 +215,33 @@ src_install() {
newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
if use !device-mapper-only ; then
- newinitd "${FILESDIR}"/dmeventd.initd-2.02.67-r1 dmeventd
- newinitd "${FILESDIR}"/lvm.rc-2.02.116-r6 lvm
- newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm
+ newinitd "${FILESDIR}"/dmeventd.initd-2.02.184-r2 dmeventd
+ newinitd "${FILESDIR}"/lvm.rc-2.02.184-r3 lvm
+ newconfd "${FILESDIR}"/lvm.confd-2.02.184-r3 lvm
+ if ! use udev ; then
+ # We keep the variable but remove udev from it.
+ sed -r -i \
+ -e '/^rc_need=/s/\<udev\>//g' \
+ "${ED}/etc/conf.d/lvm" || die "Could not drop udev from rc_need"
+ fi
newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
newinitd "${FILESDIR}"/lvmetad.initd-2.02.116-r3 lvmetad
+ newinitd "${FILESDIR}"/lvmpolld.initd-2.02.183 lvmpolld
+ fi
+
+ if use sanlock; then
+ newinitd "${FILESDIR}"/lvmlockd.initd-2.02.166-r1 lvmlockd
fi
if use static-libs; then
dolib.a libdm/ioctl/libdevmapper.a
- if use !device-mapper-only ; then
- dolib.a libdaemon/client/libdaemonclient.a #462908
- #gen_usr_ldscript libdevmapper.so
- dolib.a daemons/dmeventd/libdevmapper-event.a
- #gen_usr_ldscript libdevmapper-event.so
- fi
+ dolib.a libdaemon/client/libdaemonclient.a #462908
+ #gen_usr_ldscript libdevmapper.so
+ dolib.a daemons/dmeventd/libdevmapper-event.a
+ #gen_usr_ldscript libdevmapper-event.so
else
- rm -f "${ED}"usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
+ rm -f "${ED%/}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
fi
if use lvm2create_initrd; then
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2019-06-18 9:03 Lars Wendler
0 siblings, 0 replies; 29+ messages in thread
From: Lars Wendler @ 2019-06-18 9:03 UTC (permalink / raw
To: gentoo-commits
commit: 708fc54cc41e78710557966a421eb734d07b3e64
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 18 09:02:34 2019 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Tue Jun 18 09:03:20 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=708fc54c
sys-fs/lvm2: Fixed build with app-shells/mksh
Thanks-to: Alexander Tsoy <alexander <AT> tsoy.me>
Closes: https://bugs.gentoo.org/686652
Package-Manager: Portage-2.3.67, Repoman-2.3.14
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
sys-fs/lvm2/files/lvm2-2.02.184-mksh_build.patch | 13 +++++++++++++
sys-fs/lvm2/lvm2-2.02.185.ebuild | 2 +-
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/sys-fs/lvm2/files/lvm2-2.02.184-mksh_build.patch b/sys-fs/lvm2/files/lvm2-2.02.184-mksh_build.patch
new file mode 100644
index 00000000000..49c6853f23a
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.02.184-mksh_build.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/686652
+
+--- LVM2.2.02.184/tools/Makefile.in
++++ LVM2.2.02.184/tools/Makefile.in
+@@ -220,6 +220,6 @@
+ echo "/* Do not edit. This file is generated by the Makefile. */" && \
+ echo -en "const char _command_input[] =\n\n\"" && \
+ $(EGREP) -v '^#|\-\-\-|^$$' $(srcdir)/command-lines.in | $(AWK) 'BEGIN {ORS = "\\n\"\n\""} //' && \
+- echo "\\n\";" \
++ printf "%s\n" "\\n\";" \
+ ) > $@
+
+ $(SOURCES:%.c=%.d) $(SOURCES2:%.c=%.d): command-lines-input.h command-count.h cmds.h
diff --git a/sys-fs/lvm2/lvm2-2.02.185.ebuild b/sys-fs/lvm2/lvm2-2.02.185.ebuild
index 49ad4a19d86..871a483ce9f 100644
--- a/sys-fs/lvm2/lvm2-2.02.185.ebuild
+++ b/sys-fs/lvm2/lvm2-2.02.185.ebuild
@@ -49,7 +49,6 @@ BDEPEND="
virtual/pkgconfig
"
-
S="${WORKDIR}/${PN/lvm/LVM}.${PV}"
PATCHES=(
@@ -70,6 +69,7 @@ PATCHES=(
#"${FILESDIR}"/${PN}-2.02.145-mkdev.patch #580062 # Merged upstream
"${FILESDIR}"/${PN}-2.02.184-dmeventd-no-idle-exit.patch
#"${FILESDIR}"/${PN}-2.02.184-allow-reading-metadata-with-invalid-creation_time.patch #682380 # merged upstream
+ "${FILESDIR}"/${PN}-2.02.184-mksh_build.patch #686652
)
pkg_setup() {
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2019-07-24 9:54 Lars Wendler
0 siblings, 0 replies; 29+ messages in thread
From: Lars Wendler @ 2019-07-24 9:54 UTC (permalink / raw
To: gentoo-commits
commit: 1ad73742ac898bddf1328bb91d8f02813cc6f35f
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 24 09:51:33 2019 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Wed Jul 24 09:51:33 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1ad73742
sys-fs/lvm2: Improvements for 2.03 series
- EAPI-7
- Forward-ported a couple of patches
- lvmetad has been removed
- Removed a couple of unused configure options
Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
sys-fs/lvm2/files/lvm.rc-2.03.05 | 132 +++++++++++++++++++++
.../files/lvm2-2.03.05-dmeventd-no-idle-exit.patch | 81 +++++++++++++
.../lvm2-2.03.05-dynamic-static-ldflags.patch | 75 ++++++++++++
.../lvm2/files/lvm2-2.03.05-example.conf.in.patch | 56 +++++++++
.../files/lvm2-2.03.05-pthread-pkgconfig.patch | 48 ++++++++
sys-fs/lvm2/lvm2-2.03.05.ebuild | 56 ++++-----
6 files changed, 414 insertions(+), 34 deletions(-)
diff --git a/sys-fs/lvm2/files/lvm.rc-2.03.05 b/sys-fs/lvm2/files/lvm.rc-2.03.05
new file mode 100644
index 00000000000..7b7d90b9826
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm.rc-2.03.05
@@ -0,0 +1,132 @@
+#!/sbin/openrc-run
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+_get_lvm_path() {
+ local lvm_path=
+ for lvm_path in /bin/lvm /sbin/lvm ; do
+ [ -x "$lvm_path" ] && break
+ done
+ echo "${lvm_path}"
+}
+
+_need_lvmlockd()
+{
+ local lvm_path="$(_get_lvm_path)"
+ [ ! -x "${lvm_path}" ] && return 1
+ ${lvm_path} dumpconfig global 2>/dev/null | grep -q 'use_lvmlockd=1'
+}
+
+depend() {
+ before checkfs fsck
+ after modules device-mapper
+ config /etc/lvm/lvm.conf
+ local _need=
+ if service_started; then
+ _need=$(service_get_value need)
+ else
+ if _need_lvmlockd; then
+ _need="${_need} lvmlockd"
+ fi
+ fi
+ # Make sure you review /etc/conf.d/lvm as well!
+ # Depending on your system, it might also introduce udev & mdraid
+ need sysfs ${_need}
+}
+
+config='global { locking_dir = "/run/lock/lvm" }'
+
+dm_in_proc() {
+ local retval=0
+ for x in devices misc ; do
+ grep -qs 'device-mapper' /proc/${x}
+ retval=$((${retval} + $?))
+ done
+ return ${retval}
+}
+
+start() {
+ # LVM support for /usr, /home, /opt ....
+ # This should be done *before* checking local
+ # volumes, or they never get checked.
+
+ # NOTE: Add needed modules for LVM or RAID, etc
+ # to /etc/modules.autoload if needed
+ lvm_path="$(_get_lvm_path)"
+ for lvm_path in /bin/lvm /sbin/lvm ; do
+ [ -x "$lvm_path" ] && break
+ done
+ if [ ! -x "$lvm_path" ]; then
+ eerror "Cannot find lvm binary in /sbin or /bin!"
+ return 1
+ fi
+ if [ -z "${CDBOOT}" ] ; then
+ if [ -e /proc/modules ] && ! dm_in_proc ; then
+ modprobe dm-mod 2>/dev/null
+ fi
+ if [ -d /proc/lvm ] || dm_in_proc ; then
+ ebegin "Setting up the Logical Volume Manager"
+ #still echo stderr for debugging
+ lvm_commands="#!${lvm_path}\n"
+ # Extra PV find pass because some devices might not have been available until very recently
+ lvm_commands="${lvm_commands}pvscan --config '${config}'\n"
+ # Now make the nodes
+ lvm_commands="${lvm_commands}vgscan --config '${config}' --mknodes\n"
+ # And turn them on!
+ lvm_commands="${lvm_commands}vgchange --config '${config}' --sysinit -a ly\n"
+ if _need_lvmlockd; then
+ # Start lockd VGs as required
+ lvm_commands="${lvm_commands}vgchange --config '${config}' --lock-start --lock-opt auto\n"
+ fi
+ # Order of this is important, have to work around dash and LVM readline
+ printf "%b\n" "${lvm_commands}" | $lvm_path /proc/self/fd/0 >/dev/null
+ eend $? "Failed to setup the LVM"
+ fi
+ fi
+}
+
+stop() {
+ for lvm_path in /bin/lvm /sbin/lvm ; do
+ [ -x "$lvm_path" ] && break
+ done
+ if [ ! -x "$lvm_path" ]; then
+ eerror "Cannot find lvm binary in /sbin or /bin!"
+ return 1
+ fi
+
+ # Stop LVM2
+ if [ -x /sbin/vgs ] && \
+ [ -x /sbin/vgchange ] && \
+ [ -x /sbin/lvchange ] && \
+ [ -f /etc/lvmtab -o -d /etc/lvm ] && \
+ [ -d /proc/lvm -o "`grep device-mapper /proc/misc 2>/dev/null`" ]
+ then
+ einfo "Shutting down the Logical Volume Manager"
+
+ VGS=$($lvm_path vgs --config "${config}" -o vg_name --noheadings --nosuffix --rows 2> /dev/null)
+
+ if [ "$VGS" ]
+ then
+ local _ending="eend"
+ [ "$RC_RUNLEVEL" = shutdown ] && _ending="ewend"
+ ebegin " Shutting Down LVs & VGs"
+ #still echo stderr for debugging
+ lvm_commands="#!${lvm_path}\n"
+ # Extra PV find pass because some devices might not have been available until very recently
+ lvm_commands="${lvm_commands}lvchange --config '${config}' --sysinit -a ln ${VGS}\n"
+ # Now make the nodes
+ lvm_commands="${lvm_commands}vgchange --config '${config}' --sysinit -a ln ${VGS}\n"
+ # Order of this is important, have to work around dash and LVM readline
+ printf "%b\n" "${lvm_commands}" | $lvm_path /proc/self/fd/0 --config "${config}" >/dev/null
+ rc=$?
+ msg="Failed (possibly some LVs still needed for /usr or root)"
+ [ "$RC_RUNLEVEL" = shutdown ] && msg="${msg} [rc=$rc]" && rc=0
+ ${_ending} $rc "${msg}"
+ fi
+
+ einfo "Finished shutting down the Logical Volume Manager"
+ return 0
+ fi
+}
+
+# vim:ts=4
diff --git a/sys-fs/lvm2/files/lvm2-2.03.05-dmeventd-no-idle-exit.patch b/sys-fs/lvm2/files/lvm2-2.03.05-dmeventd-no-idle-exit.patch
new file mode 100644
index 00000000000..ec37e5da1dc
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.05-dmeventd-no-idle-exit.patch
@@ -0,0 +1,81 @@
+From ab3ae0a22dfbe20e2d17e7dc60e0f76184ec098c Mon Sep 17 00:00:00 2001
+From: "Robin H. Johnson" <robbat2@gentoo.org>
+Date: Wed, 24 Jul 2019 11:22:32 +0200
+Subject: [PATCH] dmeventd configurable idle exit time
+
+dmeventd nominally exits after 1 hour of idle time. There are use cases for
+this, esp. with socket activation, but also cases where users don't expect
+dmeventd to exit.
+
+Provide a tuning knob via environment variable, DMEVENTD_IDLE_EXIT_TIMEOUT,
+that can be -1 to not exit, or a configurable time for different idle exit.
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+Fixes: https://bugs.gentoo.org/682556
+
+Forward-ported from 2.02.184 to 2.03.05
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+---
+ daemons/dmeventd/dmeventd.c | 16 ++++++++++++++--
+ man/dmeventd.8_main | 4 ++++
+ 2 files changed, 18 insertions(+), 2 deletions(-)
+
+diff --git a/daemons/dmeventd/dmeventd.c b/daemons/dmeventd/dmeventd.c
+index 33859ef414..ac0b9743fc 100644
+--- a/daemons/dmeventd/dmeventd.c
++++ b/daemons/dmeventd/dmeventd.c
+@@ -2158,6 +2158,18 @@ int main(int argc, char *argv[])
+ .server_path = DM_EVENT_FIFO_SERVER
+ };
+ time_t now, idle_exit_timeout = DMEVENTD_IDLE_EXIT_TIMEOUT;
++
++ /* Provide a basic way to config the idle timeout */
++ char* idle_exit_timeout_env = getenv("DMEVENTD_IDLE_EXIT_TIMEOUT") ? : NULL;
++ if(NULL != idle_exit_timeout_env) {
++ char* endptr;
++ idle_exit_timeout = strtol(idle_exit_timeout_env, &endptr, 10);
++ if (errno == ERANGE || *endptr != '\0') {
++ fprintf(stderr, "DMEVENTD_IDLE_EXIT_TIMEOUT: bad time input\n");
++ exit(EXIT_FAILURE);
++ }
++ }
++
+ opterr = 0;
+ optind = 0;
+
+@@ -2253,7 +2265,7 @@ int main(int argc, char *argv[])
+ _process_initial_registrations();
+
+ for (;;) {
+- if (_idle_since) {
++ if (_idle_since || _exit_now) {
+ if (_exit_now) {
+ if (_exit_now == DM_SCHEDULED_EXIT)
+ break; /* Only prints shutdown message */
+@@ -2262,7 +2274,7 @@ int main(int argc, char *argv[])
+ (long) (time(NULL) - _idle_since));
+ break;
+ }
+- if (idle_exit_timeout) {
++ if (idle_exit_timeout && idle_exit_timeout > 0) {
+ now = time(NULL);
+ if (now < _idle_since)
+ _idle_since = now; /* clock change? */
+diff --git a/man/dmeventd.8_main b/man/dmeventd.8_main
+index dc4abf627e..4b0e522041 100644
+--- a/man/dmeventd.8_main
++++ b/man/dmeventd.8_main
+@@ -178,6 +178,10 @@ is processed.
+ Variable is set by thin and vdo plugin to prohibit recursive interation
+ with dmeventd by any executed lvm2 command from
+ a thin_command, vdo_command environment.
++.TP
++.B DMEVENTD_IDLE_EXIT_TIMEOUT
++Configure the dmeventd idle exit timeout behavior, value in seconds. Default
++is 3600 (1 hour). -1 means do not exit.
+ .
+ .SH SEE ALSO
+ .
+--
+2.22.0
+
diff --git a/sys-fs/lvm2/files/lvm2-2.03.05-dynamic-static-ldflags.patch b/sys-fs/lvm2/files/lvm2-2.03.05-dynamic-static-ldflags.patch
new file mode 100644
index 00000000000..2b9a5dd945c
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.05-dynamic-static-ldflags.patch
@@ -0,0 +1,75 @@
+From 93101699f5e1190184c00c99ab7b6e9717e5019a Mon Sep 17 00:00:00 2001
+From: "Robin H. Johnson" <robbat2@gentoo.org>
+Date: Wed, 24 Jul 2019 11:11:35 +0200
+Subject: [PATCH] Add dynamic static ldflags
+
+Forward-ported from 2.02.178 to 2.03.05
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+---
+ configure.ac | 2 ++
+ daemons/dmeventd/Makefile.in | 2 +-
+ make.tmpl.in | 1 +
+ tools/Makefile.in | 2 +-
+ 4 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 1e45c0edcb..cc2625294a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -33,6 +33,7 @@ case "$host_os" in
+ CLDFLAGS="${CLDFLAGS:"$LDFLAGS"} -Wl,--version-script,.export.sym"
+ # equivalent to -rdynamic
+ ELDFLAGS="-Wl,--export-dynamic"
++ STATIC_LDFLAGS="-Wl,--no-export-dynamic"
+ # FIXME Generate list and use --dynamic-list=.dlopen.sym
+ CLDWHOLEARCHIVE="-Wl,-whole-archive"
+ CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive"
+@@ -1758,6 +1759,7 @@ AC_SUBST(SYSCONFDIR)
+ AC_SUBST(SYSTEMD_LIBS)
+ AC_SUBST(SNAPSHOTS)
+ AC_SUBST(STATICDIR)
++AC_SUBST(STATIC_LDFLAGS)
+ AC_SUBST(STATIC_LINK)
+ AC_SUBST(TESTSUITE_DATA)
+ AC_SUBST(THIN)
+diff --git a/daemons/dmeventd/Makefile.in b/daemons/dmeventd/Makefile.in
+index 6bd36d0325..a3c30ec1a0 100644
+--- a/daemons/dmeventd/Makefile.in
++++ b/daemons/dmeventd/Makefile.in
+@@ -66,7 +66,7 @@ dmeventd: $(LIB_SHARED) dmeventd.o
+
+ dmeventd.static: $(LIB_STATIC) dmeventd.o
+ @echo " [CC] $@"
+- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L. -L$(interfacebuilddir) dmeventd.o \
++ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L. -L$(interfacebuilddir) dmeventd.o \
+ -o $@ $(DL_LIBS) $(DMEVENT_LIBS) $(LIBS) $(STATIC_LIBS)
+
+ ifeq ("@PKGCONFIG@", "yes")
+diff --git a/make.tmpl.in b/make.tmpl.in
+index f3332e91c1..1489c2afad 100644
+--- a/make.tmpl.in
++++ b/make.tmpl.in
+@@ -68,6 +68,7 @@ DEFS += @DEFS@
+ # FIXME set this only where it's needed, not globally?
+ CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
+ LDFLAGS ?= @LDFLAGS@
++STATIC_LDFLAGS += @STATIC_LDFLAGS@
+ CLDFLAGS += @CLDFLAGS@
+ ELDFLAGS += @ELDFLAGS@
+ LDDEPS += @LDDEPS@
+diff --git a/tools/Makefile.in b/tools/Makefile.in
+index 2620daa17c..e5fc9c4ae4 100644
+--- a/tools/Makefile.in
++++ b/tools/Makefile.in
+@@ -136,7 +136,7 @@ man-generator: man-generator.o
+
+ lvm.static: $(OBJECTS) lvm-static.o $(LVMINTERNAL_LIBS)
+ @echo " [CC] $@"
+- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) -o $@ $+ \
++ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) -o $@ $+ \
+ $(DMEVENT_LIBS) $(STATIC_LIBS) $(LVMLIBS)
+
+ liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
+--
+2.22.0
+
diff --git a/sys-fs/lvm2/files/lvm2-2.03.05-example.conf.in.patch b/sys-fs/lvm2/files/lvm2-2.03.05-example.conf.in.patch
new file mode 100644
index 00000000000..a79250b8b4f
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.05-example.conf.in.patch
@@ -0,0 +1,56 @@
+From d5755288f23fdeaca4c6d317583f5f119ea8801c Mon Sep 17 00:00:00 2001
+From: "Robin H. Johnson" <robbat2@gentoo.org>
+Date: Wed, 24 Jul 2019 11:01:03 +0200
+Subject: [PATCH] Add Gentoo specific changes
+
+Forward-ported from 2.02.178 to 2.03.05
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+---
+ conf/example.conf.in | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/conf/example.conf.in b/conf/example.conf.in
+index 154f621bcf..83124ddea3 100644
+--- a/conf/example.conf.in
++++ b/conf/example.conf.in
+@@ -143,6 +143,9 @@ devices {
+ # Example
+ # Accept every block device:
+ # filter = [ "a|.*/|" ]
++ # Gentoo: we exclude /dev/nbd by default, because it makes a lot of kernel
++ # noise when you probed while not available.
++ filter = [ "r|/dev/nbd.*|", "a/.*/" ]
+ # Reject the cdrom drive:
+ # filter = [ "r|/dev/cdrom|" ]
+ # Work with just loopback devices, e.g. for testing:
+@@ -1677,7 +1680,7 @@ activation {
+
+ # Configuration section metadata.
+ # This configuration section has an automatic default value.
+-# metadata {
++metadata {
+
+ # Configuration option metadata/check_pv_device_sizes.
+ # Check device sizes are not smaller than corresponding PV sizes.
+@@ -1722,7 +1725,8 @@ activation {
+ #
+ # This configuration option is advanced.
+ # This configuration option has an automatic default value.
+- # pvmetadatacopies = 1
++ # Gentoo: enable for data safety, but PV resize is then disabled.
++ # pvmetadatacopies = 2
+
+ # Configuration option metadata/vgmetadatacopies.
+ # Number of copies of metadata to maintain for each VG.
+@@ -1766,7 +1770,7 @@ activation {
+ # This configuration option is advanced.
+ # This configuration option has an automatic default value.
+ # stripesize = 64
+-# }
++}
+
+ # Configuration section report.
+ # LVM report command output formatting.
+--
+2.22.0
+
diff --git a/sys-fs/lvm2/files/lvm2-2.03.05-pthread-pkgconfig.patch b/sys-fs/lvm2/files/lvm2-2.03.05-pthread-pkgconfig.patch
new file mode 100644
index 00000000000..56aa2a7b79f
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.05-pthread-pkgconfig.patch
@@ -0,0 +1,48 @@
+From dbb68df8d02eff87f10df331e17bd0940e158f56 Mon Sep 17 00:00:00 2001
+From: "Robin H. Johnson" <robbat2@gentoo.org>
+Date: Wed, 24 Jul 2019 11:15:59 +0200
+Subject: [PATCH] Add pthread to libdevmapper pkgconfig file
+
+Forward-ported from 2.02.176 to 2.03.05
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+---
+ libdm/libdevmapper.pc.in | 2 +-
+ tools/Makefile.in | 5 +++++
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/libdm/libdevmapper.pc.in b/libdm/libdevmapper.pc.in
+index a325aeb9e0..aa0980378f 100644
+--- a/libdm/libdevmapper.pc.in
++++ b/libdm/libdevmapper.pc.in
+@@ -9,4 +9,4 @@ Version: @DM_LIB_PATCHLEVEL@
+ Cflags: -I${includedir}
+ Libs: -L${libdir} -ldevmapper
+ Requires.private: @SELINUX_PC@ @UDEV_PC@
+-Libs.private: -lm @RT_LIBS@
++Libs.private: -lm @RT_LIBS@ @PTHREAD_LIBS@
+diff --git a/tools/Makefile.in b/tools/Makefile.in
+index e5fc9c4ae4..12e4de2c63 100644
+--- a/tools/Makefile.in
++++ b/tools/Makefile.in
+@@ -87,6 +87,7 @@ ifeq ("@STATIC_LINK@", "yes")
+ TARGETS += lvm.static
+ INSTALL_LVM_TARGETS += install_tools_static
+ INSTALL_CMDLIB_TARGETS += install_cmdlib_static
++ STATIC_LIBS += @PTHREAD_LIBS@
+ endif
+
+ LVMLIBS = $(SYSTEMD_LIBS) -L$(top_builddir)/libdm -ldevmapper $(LIBS) -laio
+@@ -113,6 +114,10 @@ CFLOW_TARGET = lvm
+
+ include $(top_builddir)/make.tmpl
+
++ifeq ("@STATIC_LINK@", "yes")
++ STATIC_LIBS += @PTHREAD_LIBS@
++endif
++
+ device-mapper:
+
+ all: device-mapper
+--
+2.22.0
+
diff --git a/sys-fs/lvm2/lvm2-2.03.05.ebuild b/sys-fs/lvm2/lvm2-2.03.05.ebuild
index c605404faf8..d4cb83b032c 100644
--- a/sys-fs/lvm2/lvm2-2.03.05.ebuild
+++ b/sys-fs/lvm2/lvm2-2.03.05.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
inherit autotools linux-info multilib systemd toolchain-funcs udev flag-o-matic usr-ldscript
DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
@@ -38,35 +38,38 @@ RDEPEND="${DEPEND_COMMON}
# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
# USE 'static' currently only works with eudev, bug 520450
DEPEND="${DEPEND_COMMON}
- virtual/pkgconfig
>=sys-devel/binutils-2.20.1-r1
- sys-devel/autoconf-archive
static? (
selinux? ( sys-libs/libselinux[static-libs] )
udev? ( >=sys-fs/eudev-3.1.2[static-libs] )
>=sys-apps/util-linux-2.16[static-libs]
)"
+BDEPEND="
+ sys-devel/autoconf-archive
+ virtual/pkgconfig
+"
-S=${WORKDIR}/${PN/lvm/LVM}.${PV}
+S="${WORKDIR}/${PN/lvm/LVM}.${PV}"
PATCHES=(
# Gentoo specific modification(s):
- "${FILESDIR}"/${PN}-2.02.178-example.conf.in.patch
+ "${FILESDIR}"/${PN}-2.03.05-example.conf.in.patch
# For upstream -- review and forward:
- "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
+ #"${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch # FIXME: breaks libdm/dm-tools build
"${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
"${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
"${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
- "${FILESDIR}"/${PN}-2.02.178-asneeded.patch # -Wl,--as-needed
- "${FILESDIR}"/${PN}-2.02.178-dynamic-static-ldflags.patch #332905
+ #"${FILESDIR}"/${PN}-2.02.178-asneeded.patch # -Wl,--as-needed
+ "${FILESDIR}"/${PN}-2.03.05-dynamic-static-ldflags.patch #332905
"${FILESDIR}"/${PN}-2.02.178-static-pkgconfig-libs.patch #370217, #439414 + blkid
- "${FILESDIR}"/${PN}-2.02.176-pthread-pkgconfig.patch #492450
+ "${FILESDIR}"/${PN}-2.03.05-pthread-pkgconfig.patch #492450
"${FILESDIR}"/${PN}-2.02.171-static-libm.patch #617756
"${FILESDIR}"/${PN}-2.02.166-HPPA-no-O_DIRECT.patch #657446
#"${FILESDIR}"/${PN}-2.02.145-mkdev.patch #580062 # Merged upstream
- "${FILESDIR}"/${PN}-2.02.184-dmeventd-no-idle-exit.patch
+ "${FILESDIR}"/${PN}-2.03.05-dmeventd-no-idle-exit.patch
#"${FILESDIR}"/${PN}-2.02.184-allow-reading-metadata-with-invalid-creation_time.patch #682380 # merged upstream
+ "${FILESDIR}"/${PN}-2.02.184-mksh_build.patch #686652
)
pkg_setup() {
@@ -76,7 +79,7 @@ pkg_setup() {
local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
if linux_config_exists; then
local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
- if [ -n "${uevent_helper_path}" ] && [ "${uevent_helper_path}" != '""' ]; then
+ if [[ -n "${uevent_helper_path}" ]] && [[ "${uevent_helper_path}" != '""' ]]; then
ewarn "It's recommended to set an empty value to the following kernel config option:"
ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
fi
@@ -103,13 +106,6 @@ src_prepare() {
sed -i -e '/FLAG/s:-O2::' configure{.ac,} || die #480212
- if use udev && ! use device-mapper-only; then
- sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196
- elog "Notice that \"use_lvmetad\" setting is enabled with USE=\"udev\" in"
- elog "/etc/lvm/lvm.conf, which will require restart of udev, lvm, and lvmetad"
- elog "if it was previously disabled."
- fi
-
sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
# Without thin-privision-tools, there is nothing to install for target install_man7:
@@ -131,9 +127,7 @@ src_configure() {
$(use_enable !device-mapper-only dmfilemapd)
$(use_enable !device-mapper-only dmeventd)
$(use_enable !device-mapper-only cmdlib)
- $(use_enable !device-mapper-only applib)
$(use_enable !device-mapper-only fsadm)
- $(use_enable !device-mapper-only lvmetad)
$(use_enable !device-mapper-only lvmpolld)
$(usex device-mapper-only --disable-udev-systemd-background-jobs '')
@@ -160,8 +154,6 @@ src_configure() {
myeconfargs+=( --with-thin=none --with-cache=none )
fi
- myeconfargs+=( --with-clvmd=none --with-cluster=none )
-
myeconfargs+=(
$(use_enable readline)
$(use_enable selinux)
@@ -178,7 +170,7 @@ src_configure() {
--with-default-pid-dir=/run
$(use_enable udev udev_rules)
$(use_enable udev udev_sync)
- $(use_with udev udevdir "$(get_udevdir)"/rules.d)
+ $(use_with udev udevdir "${EPREFIX}$(get_udevdir)"/rules.d)
$(use_enable sanlock lvmlockd-sanlock)
$(use_enable systemd udev-systemd-background-jobs)
$(use_enable systemd notify-dbus)
@@ -190,14 +182,14 @@ src_configure() {
src_compile() {
pushd include >/dev/null
- emake
+ emake V=1
popd >/dev/null
if use device-mapper-only ; then
- emake device-mapper
+ emake V=1 device-mapper
else
- emake
- emake CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
+ emake V=1
+ emake V=1 CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
fi
}
@@ -208,7 +200,7 @@ src_install() {
use systemd && INSTALL_TARGETS+=( install_systemd_units install_systemd_generators )
use device-mapper-only && INSTALL_TARGETS=( install_device-mapper )
for inst in ${INSTALL_TARGETS[@]}; do
- emake DESTDIR="${D}" ${inst}
+ emake V=1 DESTDIR="${D}" ${inst}
done
newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
@@ -216,7 +208,7 @@ src_install() {
if use !device-mapper-only ; then
newinitd "${FILESDIR}"/dmeventd.initd-2.02.184-r2 dmeventd
- newinitd "${FILESDIR}"/lvm.rc-2.02.184-r3 lvm
+ newinitd "${FILESDIR}"/lvm.rc-2.03.05 lvm
newconfd "${FILESDIR}"/lvm.confd-2.02.184-r3 lvm
if ! use udev ; then
# We keep the variable but remove udev from it.
@@ -226,7 +218,6 @@ src_install() {
fi
newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
- newinitd "${FILESDIR}"/lvmetad.initd-2.02.116-r3 lvmetad
newinitd "${FILESDIR}"/lvmpolld.initd-2.02.183 lvmpolld
fi
@@ -241,7 +232,7 @@ src_install() {
dolib.a daemons/dmeventd/libdevmapper-event.a
#gen_usr_ldscript libdevmapper-event.so
else
- rm -f "${ED%/}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
+ rm -f "${ED}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
fi
if use lvm2create_initrd; then
@@ -259,9 +250,6 @@ src_install() {
pkg_postinst() {
ewarn "Make sure the \"lvm\" init script is in the runlevels:"
ewarn "# rc-update add lvm boot"
- ewarn
- ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
- ewarn "to enable lvm autoactivation and metadata caching."
}
src_test() {
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2019-11-27 16:16 Lars Wendler
0 siblings, 0 replies; 29+ messages in thread
From: Lars Wendler @ 2019-11-27 16:16 UTC (permalink / raw
To: gentoo-commits
commit: 2161b3a104c9a5664131b9297766db0538e7464e
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 27 16:16:14 2019 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Wed Nov 27 16:16:24 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2161b3a1
sys-fs/lvm2: Removed old
Package-Manager: Portage-2.3.80, Repoman-2.3.19
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
sys-fs/lvm2/Manifest | 3 -
sys-fs/lvm2/files/lvm.rc-2.02.116-r6 | 132 ----------
sys-fs/lvm2/files/lvm.rc-2.02.172 | 149 -----------
sys-fs/lvm2/files/lvm.rc-2.02.183 | 152 -----------
.../lvm2-2.02.129-static-pkgconfig-libs.patch | 102 --------
.../files/lvm2-2.02.130-pthread-pkgconfig.patch | 32 ---
.../lvm2-2.02.139-dynamic-static-ldflags.patch | 63 -----
sys-fs/lvm2/files/lvm2-2.02.145-mkdev.patch | 127 ----------
sys-fs/lvm2/lvm2-2.02.145-r2.ebuild | 254 -------------------
sys-fs/lvm2/lvm2-2.02.183.ebuild | 259 -------------------
sys-fs/lvm2/lvm2-2.02.185-r1.ebuild | 278 ---------------------
11 files changed, 1551 deletions(-)
diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest
index 9b72fb0647e..701f9bc11eb 100644
--- a/sys-fs/lvm2/Manifest
+++ b/sys-fs/lvm2/Manifest
@@ -1,7 +1,4 @@
DIST LVM2.2.02.116.tgz 1538340 BLAKE2B 718261b60626f2eca5ba13011646bf551523ed8e59aaceceb9097221c000268b7533ac43151ff1d9229911d87e764fbdb29ffa1d305f2aae99220a68e301559a SHA512 992541339637d597257850b4ff7f5348fb7cdcccf806ac8d986a3be1ad1edc5f6bfaedeed5128690c541d1a485cdc75742e90a766363c39867901003518fb84d
-DIST LVM2.2.02.145.tgz 1986370 BLAKE2B 0c9e5efae17f26ff86152cecbf0b11a74e85007b2fa9491f44dec03ac8c11375bacf6685213b4be19037c8fbf70e13549516716ecf8fa262919a44625e6aab34 SHA512 84e28b3efc940837ea9da70fce620744aea0945ba29383b76ad7bcd4b5259b897c714162a8e8b7cfe26ae736a3ad2eca633a3e0df4d6280a32b28bd4cf472d27
-DIST LVM2.2.02.183.tgz 2380574 BLAKE2B b1fe71b6cdb8ee20dd53d0ad3399c553487baafa12657ec81a794c84ad161988afdb8693ac247877a2645d693a0740c74c8b991047ed2ba4adc9ec75f1c261a9 SHA512 3947523c6b0862ada40677ed171ed0cf95e070119e377296fc5ccb153e9c4212d34c0b16a887dbd68ccf265525345dabfed2aa59fb3604555429a7e2ecfff4d7
DIST LVM2.2.02.184.tgz 2383698 BLAKE2B b6e308d76d541b9461dfcc6e82db256a175ccdabfae9c9d57d84eabd0d5ea50e3e09954b34741903e027412c2c26f72a5005fe934261576337a810738139deb8 SHA512 9db74f675e7c58f663a39afb79b6f33a33ad2cfbda63e9783ef5027f33977b4a1262a2e6754aa67c586eed083ee119a2e837c32a7746dcc53f13877c9d65c390
-DIST LVM2.2.02.185.tgz 2386328 BLAKE2B d2e31de3eedd7518ea2d239cb9b36b38e351d7fc070097a1fc4e7934e3636195da3247fba57d684bb0b31b7f3dbdfe29161bd121b2962b2c35c8c9d7914b4506 SHA512 f421505551aec2a09bc862f2fcc1ee825bc4d94c53a01d13265631e99308d60fbca40112be5bc7824cce3ef223c0775d2f6c345f6a3f227229a0566c903841bf
DIST LVM2.2.02.186.tgz 2389759 BLAKE2B e094c0135d455386ea5789208899d4dbdd5e78bebf52e49ab5587f881fbc2b94c6accecacf1b4ed182b0c87046402c00a47a1b724795a94fe3ec998b580a77ae SHA512 06a1c00142ee41d8a576a5e06a5beae70baced3020e753ce3b612355cc4d9e33be4acf58569d49436c4ee1118d288d884c7301b7d886074eaf9f2fa6b0248c03
DIST LVM2.2.03.06.tgz 2453672 BLAKE2B 3d39bef4915ddb15c51011c131afcd2735723fc3e880e01fb863d82ccac0c34b7d71f6a3a126c6bb53fbf2dd923ccf0443e4e02a492fc0660ee1ef168dbb0e79 SHA512 2a01d34fa58348b0fac3d40a9ce736aa499af18c7e9bf96a3eeefc6a2de6a73460c83b6c67be20e9bd440998cbf847bc3e7a028385f38d715e221a5a857d391f
diff --git a/sys-fs/lvm2/files/lvm.rc-2.02.116-r6 b/sys-fs/lvm2/files/lvm.rc-2.02.116-r6
deleted file mode 100644
index cf430c6654d..00000000000
--- a/sys-fs/lvm2/files/lvm.rc-2.02.116-r6
+++ /dev/null
@@ -1,132 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-_get_lvm_path() {
- local lvm_path=
- for lvm_path in /bin/lvm /sbin/lvm ; do
- [ -x "$lvm_path" ] && break
- done
- echo "${lvm_path}"
-}
-
-_need_lvmetad()
-{
- local lvm_path="$(_get_lvm_path)"
- [ ! -x "${lvm_path}" ] && return 1
- ${lvm_path} dumpconfig global 2>/dev/null | grep -q 'use_lvmetad=1'
-}
-
-depend() {
- before checkfs fsck
- after modules device-mapper
- # We may use lvmetad based on the configuration. If we added lvmetad
- # support while lvm2 is running then we aren't dependent on it. For the
- # more common case, if its disabled in the config we aren't dependent
- # on it.
- config /etc/lvm/lvm.conf
- local _need=
- if service_started; then
- _need=$(service_get_value need)
- else
- if _need_lvmetad; then
- _need="${_need} lvmetad"
- fi
- fi
- need sysfs ${_need}
-}
-
-config='global { locking_dir = "/run/lock/lvm" }'
-
-dm_in_proc() {
- local retval=0
- for x in devices misc ; do
- grep -qs 'device-mapper' /proc/${x}
- retval=$((${retval} + $?))
- done
- return ${retval}
-}
-
-start() {
- # LVM support for /usr, /home, /opt ....
- # This should be done *before* checking local
- # volumes, or they never get checked.
-
- # NOTE: Add needed modules for LVM or RAID, etc
- # to /etc/modules.autoload if needed
- lvm_path="$(_get_lvm_path)"
- for lvm_path in /bin/lvm /sbin/lvm ; do
- [ -x "$lvm_path" ] && break
- done
- if [ ! -x "$lvm_path" ]; then
- eerror "Cannot find lvm binary in /sbin or /bin!"
- return 1
- fi
- if [ -z "${CDBOOT}" ] ; then
- if [ -e /proc/modules ] && ! dm_in_proc ; then
- modprobe dm-mod 2>/dev/null
- fi
- if [ -d /proc/lvm ] || dm_in_proc ; then
- ebegin "Setting up the Logical Volume Manager"
- #still echo stderr for debugging
- lvm_commands="#! ${lvm_path} --config '${config}'\n"
- # Extra PV find pass because some devices might not have been available until very recently
- lvm_commands="${lvm_commands}pvscan\n"
- # Now make the nodes
- lvm_commands="${lvm_commands}vgscan --mknodes\n"
- # And turn them on!
- lvm_commands="${lvm_commands}vgchange --sysinit -a ly\n"
- # Order of this is important, have to work around dash and LVM readline
- printf "%b\n" "${lvm_commands}" | $lvm_path /proc/self/fd/0 --config "${config}" >/dev/null
- eend $? "Failed to setup the LVM"
- fi
- fi
-}
-
-start_post()
-{
- # Save if we needed lvmetad
- if _need_lvmetad; then
- service_set_value need lvmetad
- fi
-}
-
-stop() {
- for lvm_path in /bin/lvm /sbin/lvm ; do
- [ -x "$lvm_path" ] && break
- done
- if [ ! -x "$lvm_path" ]; then
- eerror "Cannot find lvm binary in /sbin or /bin!"
- return 1
- fi
-# Stop LVM2
-if [ -x /sbin/vgs ] && \
- [ -x /sbin/vgchange ] && \
- [ -x /sbin/lvchange ] && \
- [ -f /etc/lvmtab -o -d /etc/lvm ] && \
- [ -d /proc/lvm -o "`grep device-mapper /proc/misc 2>/dev/null`" ]
-then
- einfo "Shutting down the Logical Volume Manager"
-
- VGS=$($lvm_path vgs --config "${config}" -o vg_name --noheadings --nosuffix --rows 2> /dev/null)
-
- if [ "$VGS" ]
- then
- ebegin " Shutting Down LVs & VGs"
- #still echo stderr for debugging
- lvm_commands="#! ${lvm_path} --config '${config}'\n"
- # Extra PV find pass because some devices might not have been available until very recently
- lvm_commands="${lvm_commands}lvchange --sysinit -a ln ${VGS}\n"
- # Now make the nodes
- lvm_commands="${lvm_commands}vgchange --sysinit -a ln ${VGS}\n"
- # Order of this is important, have to work around dash and LVM readline
- printf "%b\n" "${lvm_commands}" | $lvm_path /proc/self/fd/0 --config "${config}" >/dev/null
- eend $? "Failed (possibly some LVs still needed for /usr or root)"
- fi
-
- einfo "Finished shutting down the Logical Volume Manager"
- return 0
-fi
-}
-
-# vim:ts=4
diff --git a/sys-fs/lvm2/files/lvm.rc-2.02.172 b/sys-fs/lvm2/files/lvm.rc-2.02.172
deleted file mode 100644
index 82037b28adf..00000000000
--- a/sys-fs/lvm2/files/lvm.rc-2.02.172
+++ /dev/null
@@ -1,149 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-_get_lvm_path() {
- local lvm_path=
- for lvm_path in /bin/lvm /sbin/lvm ; do
- [ -x "$lvm_path" ] && break
- done
- echo "${lvm_path}"
-}
-
-_need_lvmetad()
-{
- local lvm_path="$(_get_lvm_path)"
- [ ! -x "${lvm_path}" ] && return 1
- ${lvm_path} dumpconfig global 2>/dev/null | grep -q 'use_lvmetad=1'
-}
-
-_need_lvmlockd()
-{
- local lvm_path="$(_get_lvm_path)"
- [ ! -x "${lvm_path}" ] && return 1
- ${lvm_path} dumpconfig global 2>/dev/null | grep -q 'use_lvmlockd=1'
-}
-
-depend() {
- before checkfs fsck
- after modules device-mapper
- # We may use lvmetad based on the configuration. If we added lvmetad
- # support while lvm2 is running then we aren't dependent on it. For the
- # more common case, if its disabled in the config we aren't dependent
- # on it.
- config /etc/lvm/lvm.conf
- local _need=
- if service_started; then
- _need=$(service_get_value need)
- else
- if _need_lvmetad; then
- _need="${_need} lvmetad"
- fi
- if _need_lvmlockd; then
- _need="${_need} lvmlockd"
- fi
- fi
- need sysfs ${_need}
-}
-
-config='global { locking_dir = "/run/lock/lvm" }'
-
-dm_in_proc() {
- local retval=0
- for x in devices misc ; do
- grep -qs 'device-mapper' /proc/${x}
- retval=$((${retval} + $?))
- done
- return ${retval}
-}
-
-start() {
- # LVM support for /usr, /home, /opt ....
- # This should be done *before* checking local
- # volumes, or they never get checked.
-
- # NOTE: Add needed modules for LVM or RAID, etc
- # to /etc/modules.autoload if needed
- lvm_path="$(_get_lvm_path)"
- for lvm_path in /bin/lvm /sbin/lvm ; do
- [ -x "$lvm_path" ] && break
- done
- if [ ! -x "$lvm_path" ]; then
- eerror "Cannot find lvm binary in /sbin or /bin!"
- return 1
- fi
- if [ -z "${CDBOOT}" ] ; then
- if [ -e /proc/modules ] && ! dm_in_proc ; then
- modprobe dm-mod 2>/dev/null
- fi
- if [ -d /proc/lvm ] || dm_in_proc ; then
- ebegin "Setting up the Logical Volume Manager"
- #still echo stderr for debugging
- lvm_commands="#!${lvm_path}\n"
- # Extra PV find pass because some devices might not have been available until very recently
- lvm_commands="${lvm_commands}pvscan --config '${config}'\n"
- # Now make the nodes
- lvm_commands="${lvm_commands}vgscan --config '${config}' --mknodes\n"
- # And turn them on!
- lvm_commands="${lvm_commands}vgchange --config '${config}' --sysinit -a ly\n"
- if _need_lvmlockd; then
- # Start lockd VGs as required
- lvm_commands="${lvm_commands}vgchange --config '${config}' --lock-start --lock-opt auto\n"
- fi
- # Order of this is important, have to work around dash and LVM readline
- printf "%b\n" "${lvm_commands}" | $lvm_path /proc/self/fd/0 >/dev/null
- eend $? "Failed to setup the LVM"
- fi
- fi
-}
-
-start_post()
-{
- # Save if we needed lvmetad
- if _need_lvmetad; then
- service_set_value need lvmetad
- fi
-}
-
-stop() {
- for lvm_path in /bin/lvm /sbin/lvm ; do
- [ -x "$lvm_path" ] && break
- done
- if [ ! -x "$lvm_path" ]; then
- eerror "Cannot find lvm binary in /sbin or /bin!"
- return 1
- fi
-
- # Stop LVM2
- if [ -x /sbin/vgs ] && \
- [ -x /sbin/vgchange ] && \
- [ -x /sbin/lvchange ] && \
- [ -f /etc/lvmtab -o -d /etc/lvm ] && \
- [ -d /proc/lvm -o "`grep device-mapper /proc/misc 2>/dev/null`" ]
- then
- einfo "Shutting down the Logical Volume Manager"
-
- VGS=$($lvm_path vgs --config "${config}" -o vg_name --noheadings --nosuffix --rows 2> /dev/null)
-
- if [ "$VGS" ]
- then
- local _ending="eend"
- [ "$RC_RUNLEVEL" = shutdown ] && _ending="ewend"
- ebegin " Shutting Down LVs & VGs"
- #still echo stderr for debugging
- lvm_commands="#!${lvm_path}\n"
- # Extra PV find pass because some devices might not have been available until very recently
- lvm_commands="${lvm_commands}lvchange --config '${config}' --sysinit -a ln ${VGS}\n"
- # Now make the nodes
- lvm_commands="${lvm_commands}vgchange --config '${config}' --sysinit -a ln ${VGS}\n"
- # Order of this is important, have to work around dash and LVM readline
- printf "%b\n" "${lvm_commands}" | $lvm_path /proc/self/fd/0 --config "${config}" >/dev/null
- ${_ending} $? "Failed (possibly some LVs still needed for /usr or root)"
- fi
-
- einfo "Finished shutting down the Logical Volume Manager"
- return 0
- fi
-}
-
-# vim:ts=4
diff --git a/sys-fs/lvm2/files/lvm.rc-2.02.183 b/sys-fs/lvm2/files/lvm.rc-2.02.183
deleted file mode 100644
index ce499a6dd21..00000000000
--- a/sys-fs/lvm2/files/lvm.rc-2.02.183
+++ /dev/null
@@ -1,152 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-_get_lvm_path() {
- local lvm_path=
- for lvm_path in /bin/lvm /sbin/lvm ; do
- [ -x "$lvm_path" ] && break
- done
- echo "${lvm_path}"
-}
-
-_need_lvmetad()
-{
- local lvm_path="$(_get_lvm_path)"
- [ ! -x "${lvm_path}" ] && return 1
- ${lvm_path} dumpconfig global 2>/dev/null | grep -q 'use_lvmetad=1'
-}
-
-_need_lvmlockd()
-{
- local lvm_path="$(_get_lvm_path)"
- [ ! -x "${lvm_path}" ] && return 1
- ${lvm_path} dumpconfig global 2>/dev/null | grep -q 'use_lvmlockd=1'
-}
-
-depend() {
- before checkfs fsck
- after modules device-mapper
- # We may use lvmetad based on the configuration. If we added lvmetad
- # support while lvm2 is running then we aren't dependent on it. For the
- # more common case, if its disabled in the config we aren't dependent
- # on it.
- config /etc/lvm/lvm.conf
- local _need=
- if service_started; then
- _need=$(service_get_value need)
- else
- if _need_lvmetad; then
- _need="${_need} lvmetad"
- fi
- if _need_lvmlockd; then
- _need="${_need} lvmlockd"
- fi
- fi
- need sysfs udev ${_need}
-}
-
-config='global { locking_dir = "/run/lock/lvm" }'
-
-dm_in_proc() {
- local retval=0
- for x in devices misc ; do
- grep -qs 'device-mapper' /proc/${x}
- retval=$((${retval} + $?))
- done
- return ${retval}
-}
-
-start() {
- # LVM support for /usr, /home, /opt ....
- # This should be done *before* checking local
- # volumes, or they never get checked.
-
- # NOTE: Add needed modules for LVM or RAID, etc
- # to /etc/modules.autoload if needed
- lvm_path="$(_get_lvm_path)"
- for lvm_path in /bin/lvm /sbin/lvm ; do
- [ -x "$lvm_path" ] && break
- done
- if [ ! -x "$lvm_path" ]; then
- eerror "Cannot find lvm binary in /sbin or /bin!"
- return 1
- fi
- if [ -z "${CDBOOT}" ] ; then
- if [ -e /proc/modules ] && ! dm_in_proc ; then
- modprobe dm-mod 2>/dev/null
- fi
- if [ -d /proc/lvm ] || dm_in_proc ; then
- ebegin "Setting up the Logical Volume Manager"
- #still echo stderr for debugging
- lvm_commands="#!${lvm_path}\n"
- # Extra PV find pass because some devices might not have been available until very recently
- lvm_commands="${lvm_commands}pvscan --config '${config}'\n"
- # Now make the nodes
- lvm_commands="${lvm_commands}vgscan --config '${config}' --mknodes\n"
- # And turn them on!
- lvm_commands="${lvm_commands}vgchange --config '${config}' --sysinit -a ly\n"
- if _need_lvmlockd; then
- # Start lockd VGs as required
- lvm_commands="${lvm_commands}vgchange --config '${config}' --lock-start --lock-opt auto\n"
- fi
- # Order of this is important, have to work around dash and LVM readline
- printf "%b\n" "${lvm_commands}" | $lvm_path /proc/self/fd/0 >/dev/null
- eend $? "Failed to setup the LVM"
- fi
- fi
-}
-
-start_post()
-{
- # Save if we needed lvmetad
- if _need_lvmetad; then
- service_set_value need lvmetad
- fi
-}
-
-stop() {
- for lvm_path in /bin/lvm /sbin/lvm ; do
- [ -x "$lvm_path" ] && break
- done
- if [ ! -x "$lvm_path" ]; then
- eerror "Cannot find lvm binary in /sbin or /bin!"
- return 1
- fi
-
- # Stop LVM2
- if [ -x /sbin/vgs ] && \
- [ -x /sbin/vgchange ] && \
- [ -x /sbin/lvchange ] && \
- [ -f /etc/lvmtab -o -d /etc/lvm ] && \
- [ -d /proc/lvm -o "`grep device-mapper /proc/misc 2>/dev/null`" ]
- then
- einfo "Shutting down the Logical Volume Manager"
-
- VGS=$($lvm_path vgs --config "${config}" -o vg_name --noheadings --nosuffix --rows 2> /dev/null)
-
- if [ "$VGS" ]
- then
- local _ending="eend"
- [ "$RC_RUNLEVEL" = shutdown ] && _ending="ewend"
- ebegin " Shutting Down LVs & VGs"
- #still echo stderr for debugging
- lvm_commands="#!${lvm_path}\n"
- # Extra PV find pass because some devices might not have been available until very recently
- lvm_commands="${lvm_commands}lvchange --config '${config}' --sysinit -a ln ${VGS}\n"
- # Now make the nodes
- lvm_commands="${lvm_commands}vgchange --config '${config}' --sysinit -a ln ${VGS}\n"
- # Order of this is important, have to work around dash and LVM readline
- printf "%b\n" "${lvm_commands}" | $lvm_path /proc/self/fd/0 --config "${config}" >/dev/null
- rc=$?
- msg="Failed (possibly some LVs still needed for /usr or root)"
- [ "$RC_RUNLEVEL" = shutdown ] && msg="${msg} [rc=$rc]" && rc=0
- ${_ending} $rc "${msg}"
- fi
-
- einfo "Finished shutting down the Logical Volume Manager"
- return 0
- fi
-}
-
-# vim:ts=4
diff --git a/sys-fs/lvm2/files/lvm2-2.02.129-static-pkgconfig-libs.patch b/sys-fs/lvm2/files/lvm2-2.02.129-static-pkgconfig-libs.patch
deleted file mode 100644
index 239694523b3..00000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.129-static-pkgconfig-libs.patch
+++ /dev/null
@@ -1,102 +0,0 @@
---- LVM2.2.02.129/configure.in
-+++ LVM2.2.02.129/configure.in
-@@ -1287,6 +1287,7 @@
- fi])
- if test "$BLKID_WIPING" = yes; then
- BLKID_PC="blkid"
-+ BLKID_STATIC_LIBS=`$PKG_CONFIG --static --libs $BLKID_PC`
- DEFAULT_USE_BLKID_WIPING=1
- AC_DEFINE([BLKID_WIPING_SUPPORT], 1, [Define to 1 to use libblkid detection of signatures when wiping.])
- else
-@@ -1332,6 +1333,7 @@
- if test "$UDEV_SYNC" = yes; then
- pkg_config_init
- PKG_CHECK_MODULES(UDEV, libudev >= 143, [UDEV_PC="libudev"])
-+ UDEV_STATIC_LIBS=`$PKG_CONFIG --static --libs libudev`
- AC_DEFINE([UDEV_SYNC_SUPPORT], 1, [Define to 1 to enable synchronisation with udev processing.])
- fi
-
-@@ -1558,19 +1560,32 @@
- if test "$SELINUX" = yes; then
- AC_CHECK_LIB([sepol], [sepol_check_context], [
- AC_DEFINE([HAVE_SEPOL], 1, [Define to 1 if sepol_check_context is available.])
-- SELINUX_LIBS="-lsepol"])
-+ SEPOL_LIBS="-lsepol"])
-+
-+ dnl -- init pkgconfig if required
-+ if test x$PKGCONFIG_INIT != x1; then
-+ pkg_config_init
-+ fi
-+ PKG_CHECK_MODULES(SELINUX, libselinux, [
-+ SELINUX_PC="libselinux"
-+ SELINUX_STATIC_LIBS=`$PKG_CONFIG --static --libs libselinux`
-+ SELINUX_LIBS="$SELINUX_LIBS $SEPOL_LIBS"
-+ AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-+ ],[
-+ dnl -- old non-pkgconfig method, is buggy with static builds
-
- AC_CHECK_LIB([selinux], [is_selinux_enabled], [
- AC_CHECK_HEADERS([selinux/selinux.h],, hard_bailout)
- AC_CHECK_HEADERS([selinux/label.h])
- AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-- SELINUX_LIBS="-lselinux $SELINUX_LIBS"
-+ SELINUX_LIBS="-lselinux $SEPOL_LIBS"
- SELINUX_PC="libselinux"
- HAVE_SELINUX=yes ], [
- AC_MSG_WARN(Disabling selinux)
- SELINUX_LIBS=
- SELINUX_PC=
- HAVE_SELINUX=no ])
-+ ])
- fi
-
- ################################################################################
-@@ -1902,6 +1917,7 @@
- ################################################################################
- AC_SUBST(APPLIB)
- AC_SUBST(AWK)
-+AC_SUBST(BLKID_STATIC_LIBS)
- AC_SUBST(BLKID_PC)
- AC_SUBST(BUILD_CMIRRORD)
- AC_SUBST(BUILD_DMEVENTD)
-@@ -2005,6 +2021,7 @@
- AC_SUBST(SALCK_CFLAGS)
- AC_SUBST(SALCK_LIBS)
- AC_SUBST(SELINUX_LIBS)
-+AC_SUBST(SELINUX_STATIC_LIBS)
- AC_SUBST(SELINUX_PC)
- AC_SUBST(SNAPSHOTS)
- AC_SUBST(STATICDIR)
-@@ -2020,6 +2037,7 @@
- AC_SUBST(CACHE_DUMP_CMD)
- AC_SUBST(CACHE_REPAIR_CMD)
- AC_SUBST(CACHE_RESTORE_CMD)
-+AC_SUBST(UDEV_STATIC_LIBS)
- AC_SUBST(UDEV_PC)
- AC_SUBST(UDEV_RULES)
- AC_SUBST(UDEV_SYNC)
---- LVM2.2.02.129/make.tmpl.in
-+++ LVM2.2.02.129/make.tmpl.in
-@@ -43,7 +43,7 @@
-
- LIBS = @LIBS@
- # Extra libraries always linked with static binaries
--STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS)
-+STATIC_LIBS = $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS)
- DEFS += @DEFS@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
-@@ -58,10 +58,13 @@
- PTHREAD_LIBS = @PTHREAD_LIBS@
- READLINE_LIBS = @READLINE_LIBS@
- SELINUX_LIBS = @SELINUX_LIBS@
-+SELINUX_STATIC_LIBS = @SELINUX_STATIC_LIBS@
- UDEV_CFLAGS = @UDEV_CFLAGS@
- UDEV_LIBS = @UDEV_LIBS@
-+UDEV_STATIC_LIBS = @UDEV_STATIC_LIBS@
- BLKID_CFLAGS = @BLKID_CFLAGS@
- BLKID_LIBS = @BLKID_LIBS@
-+BLKID_STATIC_LIBS = @BLKID_STATIC_LIBS@
- VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
- TESTING = @TESTING@
-
diff --git a/sys-fs/lvm2/files/lvm2-2.02.130-pthread-pkgconfig.patch b/sys-fs/lvm2/files/lvm2-2.02.130-pthread-pkgconfig.patch
deleted file mode 100644
index 11db632e2e7..00000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.130-pthread-pkgconfig.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Make sure that libdm usage always brings in pthread libraries, both in
-pkgconfig and during manual build.
-
---- LVM2.2.02.130/libdm/libdevmapper.pc.in
-+++ LVM2.2.02.130/libdm/libdevmapper.pc.in
-@@ -9,4 +9,4 @@
- Cflags: -I${includedir}
- Libs: -L${libdir} -ldevmapper
- Requires.private: @SELINUX_PC@ @UDEV_PC@
--Libs.private: -lm @RT_LIB@
-+Libs.private: -lm @RT_LIB@ @PTHREAD_LIBS@
---- LVM2.2.02.130/tools/Makefile.in
-+++ LVM2.2.02.130/tools/Makefile.in
-@@ -90,6 +90,7 @@
- INSTALL_LVM_TARGETS += install_tools_static
- INSTALL_DMSETUP_TARGETS += install_dmsetup_static
- INSTALL_CMDLIB_TARGETS += install_cmdlib_static
-+ STATIC_LIBS += @PTHREAD_LIBS@
- endif
-
- LVMLIBS = $(LVMINTERNAL_LIBS)
-@@ -120,6 +121,10 @@
-
- include $(top_builddir)/make.tmpl
-
-+ifeq ("@STATIC_LINK@", "yes")
-+ STATIC_LIBS += @PTHREAD_LIBS@
-+endif
-+
- device-mapper: $(TARGETS_DM)
-
- CFLAGS_dmsetup.o += $(UDEV_CFLAGS) $(EXTRA_EXEC_CFLAGS)
diff --git a/sys-fs/lvm2/files/lvm2-2.02.139-dynamic-static-ldflags.patch b/sys-fs/lvm2/files/lvm2-2.02.139-dynamic-static-ldflags.patch
deleted file mode 100644
index 312e546e240..00000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.139-dynamic-static-ldflags.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-diff -ur LVM2.2.02.139_O/configure.in LVM2.2.02.139/configure.in
---- LVM2.2.02.139_O/configure.in 2016-01-19 12:54:33.155187005 +0000
-+++ LVM2.2.02.139/configure.in 2016-01-19 12:56:39.487181372 +0000
-@@ -31,6 +31,7 @@
- linux*)
- CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym"
- ELDFLAGS="-Wl,--export-dynamic"
-+ STATIC_LDFLAGS="-Wl,--no-export-dynamic"
- # FIXME Generate list and use --dynamic-list=.dlopen.sym
- CLDWHOLEARCHIVE="-Wl,-whole-archive"
- CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive"
-@@ -2009,6 +2010,7 @@
- AC_SUBST(SELINUX_PC)
- AC_SUBST(SNAPSHOTS)
- AC_SUBST(STATICDIR)
-+AC_SUBST(STATIC_LDFLAGS)
- AC_SUBST(STATIC_LINK)
- AC_SUBST(TESTING)
- AC_SUBST(TESTSUITE_DATA)
-diff -ur LVM2.2.02.139_O/daemons/dmeventd/Makefile.in LVM2.2.02.139/daemons/dmeventd/Makefile.in
---- LVM2.2.02.139_O/daemons/dmeventd/Makefile.in 2016-01-19 12:54:33.278186999 +0000
-+++ LVM2.2.02.139/daemons/dmeventd/Makefile.in 2016-01-19 12:57:44.277178484 +0000
-@@ -67,7 +67,7 @@
- $(DL_LIBS) $(LVMLIBS) $(LIBS) -rdynamic
-
- dmeventd.static: $(LIB_STATIC) dmeventd.o $(interfacebuilddir)/libdevmapper.a
-- $(CC) $(CFLAGS) $(LDFLAGS) $(ELDFLAGS) -static -L. -L$(interfacebuilddir) -o $@ \
-+ $(CC) $(CFLAGS) $(LDFLAGS) $(ELDFLAGS) $(STATIC_LDFLAGS) -static -L. -L$(interfacebuilddir) -o $@ \
- dmeventd.o $(DL_LIBS) $(LVMLIBS) $(LIBS) $(STATIC_LIBS)
-
- ifeq ("@PKGCONFIG@", "yes")
-diff -ur LVM2.2.02.139_O/make.tmpl.in LVM2.2.02.139/make.tmpl.in
---- LVM2.2.02.139_O/make.tmpl.in 2016-01-19 12:54:33.529186988 +0000
-+++ LVM2.2.02.139/make.tmpl.in 2016-01-19 12:58:31.514176378 +0000
-@@ -49,6 +49,7 @@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
- LDFLAGS ?= @COPTIMISE_FLAG@ @LDFLAGS@
-+STATIC_LDFLAGS += @STATIC_LDFLAGS@
- CLDFLAGS += @CLDFLAGS@
- ELDFLAGS += @ELDFLAGS@
- LDDEPS += @LDDEPS@
-diff -ur LVM2.2.02.139_O/tools/Makefile.in LVM2.2.02.139/tools/Makefile.in
---- LVM2.2.02.139_O/tools/Makefile.in 2016-01-08 18:51:21.000000000 +0000
-+++ LVM2.2.02.139/tools/Makefile.in 2016-01-19 13:00:08.349172060 +0000
-@@ -129,7 +129,7 @@
- -o $@ dmsetup.o -ldevmapper $(LIBS)
-
- dmsetup.static: dmsetup.o $(interfacebuilddir)/libdevmapper.a
-- $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) \
-+ $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) \
- -o $@ dmsetup.o -ldevmapper $(M_LIBS) $(PTHREAD_LIBS) $(STATIC_LIBS) $(LIBS)
-
- all: device-mapper
-@@ -146,7 +146,7 @@
- endif
-
- lvm.static: $(OBJECTS) lvm-static.o $(top_builddir)/lib/liblvm-internal.a $(interfacebuilddir)/libdevmapper.a
-- $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) -o $@ \
-+ $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) -o $@ \
- $(OBJECTS) lvm-static.o $(LVMLIBS) $(STATIC_LIBS) $(LIBS)
-
- liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
diff --git a/sys-fs/lvm2/files/lvm2-2.02.145-mkdev.patch b/sys-fs/lvm2/files/lvm2-2.02.145-mkdev.patch
deleted file mode 100644
index f91dccd5c18..00000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.145-mkdev.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-https://bugs.gentoo.org/580062
-
-From 2a1d0fa8ea765604cd8274aac5aa7876f1c145c9 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Tue, 19 Apr 2016 23:53:22 -0400
-Subject: [PATCH] convert major/minor/makedev handling
-
-Most of the files in here use MAJOR/MINOR/MKDEV macros, but a few
-missed it. Update the defines in those files to match them.
----
- daemons/cmirrord/functions.c | 16 ++++++++++++----
- daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c | 12 ++++++++++--
- lib/filters/filter-sysfs.c | 6 ++++--
- 3 files changed, 26 insertions(+), 8 deletions(-)
-
-diff --git a/daemons/cmirrord/functions.c b/daemons/cmirrord/functions.c
-index e9d3c09..5b3cb38 100644
---- a/daemons/cmirrord/functions.c
-+++ b/daemons/cmirrord/functions.c
-@@ -20,6 +20,14 @@
- #include <time.h>
- #include <unistd.h>
-
-+#ifdef __linux__
-+# include "kdev_t.h"
-+#else
-+# define MAJOR(x) major((x))
-+# define MINOR(x) minor((x))
-+# define MKDEV(x,y) makedev((x),(y))
-+#endif
-+
- #define BYTE_SHIFT 3
-
- /*
-@@ -333,8 +341,8 @@ static int find_disk_path(char *major_minor_str, char *path_rtn, int *unlink_pat
- continue;
- }
- if (S_ISBLK(statbuf.st_mode) &&
-- (major(statbuf.st_rdev) == major) &&
-- (minor(statbuf.st_rdev) == minor)) {
-+ (MAJOR(statbuf.st_rdev) == major) &&
-+ (MINOR(statbuf.st_rdev) == minor)) {
- LOG_DBG(" %s: YES", dep->d_name);
- if (closedir(dp))
- LOG_DBG("Unable to closedir /dev/mapper %s",
-@@ -1451,7 +1459,7 @@ static int disk_status_info(struct log_c *lc, struct dm_ulog_request *rq)
- }
-
- r = sprintf(data, "3 clustered-disk %d:%d %c",
-- major(statbuf.st_rdev), minor(statbuf.st_rdev),
-+ MAJOR(statbuf.st_rdev), MINOR(statbuf.st_rdev),
- (lc->log_dev_failed) ? 'D' : 'A');
- if (r < 0)
- return r;
-@@ -1514,7 +1522,7 @@ static int disk_status_table(struct log_c *lc, struct dm_ulog_request *rq)
- }
-
- r = sprintf(data, "clustered-disk %d:%d %u %s%s ",
-- major(statbuf.st_rdev), minor(statbuf.st_rdev),
-+ MAJOR(statbuf.st_rdev), MINOR(statbuf.st_rdev),
- lc->region_size,
- (lc->sync == DEFAULTSYNC) ? "" :
- (lc->sync == NOSYNC) ? "nosync " : "sync ",
-diff --git a/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c b/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c
-index 7b060ed..4098203 100644
---- a/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c
-+++ b/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c
-@@ -20,6 +20,14 @@
- #include <stdarg.h>
- #include <pthread.h>
-
-+#ifdef __linux__
-+# include "kdev_t.h"
-+#else
-+# define MAJOR(x) major((x))
-+# define MINOR(x) minor((x))
-+# define MKDEV(x,y) makedev((x),(y))
-+#endif
-+
- /* First warning when snapshot is 80% full. */
- #define WARNING_THRESH (DM_PERCENT_1 * 80)
- /* Run a check every 5%. */
-@@ -148,8 +156,8 @@ static void _umount(const char *device, int major, int minor)
- continue; /* can't stat, skip this one */
-
- if (S_ISBLK(st.st_mode) &&
-- major(st.st_rdev) == major &&
-- minor(st.st_rdev) == minor) {
-+ MAJOR(st.st_rdev) == major &&
-+ MINOR(st.st_rdev) == minor) {
- log_error("Unmounting invalid snapshot %s from %s.", device, words[1]);
- if (!_run(UMOUNT_COMMAND, "-fl", words[1], NULL))
- log_error("Failed to umount snapshot %s from %s: %s.",
-diff --git a/lib/filters/filter-sysfs.c b/lib/filters/filter-sysfs.c
-index 3115f86..5f76e8b 100644
---- a/lib/filters/filter-sysfs.c
-+++ b/lib/filters/filter-sysfs.c
-@@ -19,6 +19,8 @@
-
- #include <dirent.h>
-
-+#include "kdev_t.h"
-+
- static int _locate_sysfs_blocks(const char *sysfs_dir, char *path, size_t len,
- unsigned *sysfs_depth)
- {
-@@ -120,7 +122,7 @@ static struct dev_set *_dev_set_create(struct dm_pool *mem,
-
- static unsigned _hash_dev(dev_t dev)
- {
-- return (major(dev) ^ minor(dev)) & (SET_BUCKETS - 1);
-+ return (MAJOR(dev) ^ MINOR(dev)) & (SET_BUCKETS - 1);
- }
-
- /*
-@@ -171,7 +173,7 @@ static int _parse_dev(const char *file, FILE *fp, dev_t *result)
- return 0;
- }
-
-- *result = makedev(major, minor);
-+ *result = MKDEV(major, minor);
- return 1;
- }
-
---
-2.7.4
-
diff --git a/sys-fs/lvm2/lvm2-2.02.145-r2.ebuild b/sys-fs/lvm2/lvm2-2.02.145-r2.ebuild
deleted file mode 100644
index 70a95fcb0f7..00000000000
--- a/sys-fs/lvm2/lvm2-2.02.145-r2.ebuild
+++ /dev/null
@@ -1,254 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit autotools eutils linux-info multilib systemd toolchain-funcs udev flag-o-matic
-
-DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
-HOMEPAGE="https://sourceware.org/lvm2/"
-SRC_URI="ftp://sourceware.org/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
- ftp://sourceware.org/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-linux ~x86-linux"
-IUSE="readline static static-libs systemd lvm1 lvm2create_initrd selinux +udev +thin device-mapper-only"
-REQUIRED_USE="device-mapper-only? ( !lvm1 !lvm2create_initrd !thin )
- systemd? ( udev )"
-
-DEPEND_COMMON="
- readline? ( sys-libs/readline:0= )
- systemd? ( >=sys-apps/systemd-205:0= )
- udev? ( >=virtual/libudev-208:=[static-libs(-)?] )"
-# /run is now required for locking during early boot. /var cannot be assumed to
-# be available -- thus, pull in recent enough baselayout for /run.
-# This version of LVM is incompatible with cryptsetup <1.1.2.
-RDEPEND="${DEPEND_COMMON}
- >=sys-apps/baselayout-2.2
- !<sys-apps/openrc-0.11
- !<sys-fs/cryptsetup-1.1.2
- !!sys-fs/lvm-user
- >=sys-apps/util-linux-2.16
- lvm2create_initrd? ( sys-apps/makedev )
- thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
-# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
-# USE 'static' currently only works with eudev, bug 520450
-DEPEND="${DEPEND_COMMON}
- virtual/pkgconfig
- >=sys-devel/binutils-2.20.1-r1
- sys-devel/autoconf-archive
- static? (
- selinux? ( sys-libs/libselinux[static-libs] )
- udev? ( >=sys-fs/eudev-3.1.2[static-libs] )
- >=sys-apps/util-linux-2.16[static-libs]
- )"
-
-S=${WORKDIR}/${PN/lvm/LVM}.${PV}
-
-PATCHES=(
- # Gentoo specific modification(s):
- "${FILESDIR}"/${PN}-2.02.129-example.conf.in.patch
-
- # For upstream -- review and forward:
- "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
- "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
- "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
- "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
- "${FILESDIR}"/${PN}-2.02.70-asneeded.patch # -Wl,--as-needed
- "${FILESDIR}"/${PN}-2.02.139-dynamic-static-ldflags.patch #332905
- "${FILESDIR}"/${PN}-2.02.129-static-pkgconfig-libs.patch #370217, #439414 + blkid
- "${FILESDIR}"/${PN}-2.02.130-pthread-pkgconfig.patch #492450
- "${FILESDIR}"/${PN}-2.02.145-mkdev.patch #580062
-)
-
-pkg_setup() {
- local CONFIG_CHECK="~SYSVIPC"
-
- if use udev; then
- local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
- if linux_config_exists; then
- local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
- if [ -n "${uevent_helper_path}" ] && [ "${uevent_helper_path}" != '""' ]; then
- ewarn "It's recommended to set an empty value to the following kernel config option:"
- ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
- fi
- fi
- fi
-
- check_extra_config
-
- # 1. Genkernel no longer copies /sbin/lvm blindly.
- if use static; then
- elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
- elog "their static versions. If you need the static binaries,"
- elog "you must append .static to the filename!"
- fi
-}
-
-src_prepare() {
- default
-
- sed -i \
- -e "1iAR = $(tc-getAR)" \
- -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
- make.tmpl.in || die #444082
-
- sed -i -e '/FLAG/s:-O2::' configure{.in,} || die #480212
-
- if use udev && ! use device-mapper-only; then
- sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196
- elog "Notice that \"use_lvmetad\" setting is enabled with USE=\"udev\" in"
- elog "/etc/lvm/lvm.conf, which will require restart of udev, lvm, and lvmetad"
- elog "if it was previously disabled."
- fi
-
- sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
-
- # Without thin-privision-tools, there is nothing to install for target install_man7:
- use thin || { sed -i -e '/^install_lvm2/s:install_man7::' man/Makefile.in || die; }
-
- eautoreconf
-}
-
-src_configure() {
- filter-flags -flto
- local myconf=()
- local buildmode
-
- myconf+=( $(use_enable !device-mapper-only dmeventd) )
- myconf+=( $(use_enable !device-mapper-only cmdlib) )
- myconf+=( $(use_enable !device-mapper-only applib) )
- myconf+=( $(use_enable !device-mapper-only fsadm) )
- myconf+=( $(use_enable !device-mapper-only lvmetad) )
- use device-mapper-only && myconf+=( --disable-udev-systemd-background-jobs )
-
- # Most of this package does weird stuff.
- # The build options are tristate, and --without is NOT supported
- # options: 'none', 'internal', 'shared'
- if use static; then
- buildmode="internal"
- # This only causes the .static versions to become available
- myconf+=( --enable-static_link )
- else
- buildmode="shared"
- fi
- dmbuildmode=$(use !device-mapper-only && echo internal || echo none)
-
- # dmeventd requires mirrors to be internal, and snapshot available
- # so we cannot disable them
- myconf+=( --with-mirrors=${dmbuildmode} )
- myconf+=( --with-snapshots=${dmbuildmode} )
- if use thin; then
- myconf+=( --with-thin=internal --with-cache=internal )
- local texec
- for texec in check dump repair restore; do
- myconf+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
- myconf+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
- done
- else
- myconf+=( --with-thin=none --with-cache=none )
- fi
-
- if use lvm1; then
- myconf+=( --with-lvm1=${buildmode} )
- else
- myconf+=( --with-lvm1=none )
- fi
-
- # disable O_DIRECT support on hppa, breaks pv detection (#99532)
- use hppa && myconf+=( --disable-o_direct )
-
- myconf+=( --with-clvmd=none --with-cluster=none )
-
- econf \
- $(use_enable readline) \
- $(use_enable selinux) \
- --enable-pkgconfig \
- --with-confdir="${EPREFIX}"/etc \
- --exec-prefix="${EPREFIX}" \
- --sbindir="${EPREFIX}/sbin" \
- --with-staticdir="${EPREFIX}"/sbin \
- --libdir="${EPREFIX}/$(get_libdir)" \
- --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)" \
- --with-default-dm-run-dir=/run \
- --with-default-run-dir=/run/lvm \
- --with-default-locking-dir=/run/lock/lvm \
- --with-default-pid-dir=/run \
- $(use_enable udev udev_rules) \
- $(use_enable udev udev_sync) \
- $(use_with udev udevdir "$(get_udevdir)"/rules.d) \
- $(use_enable systemd udev-systemd-background-jobs) \
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \
- ${myconf[@]} \
- CLDFLAGS="${LDFLAGS}"
-}
-
-src_compile() {
- pushd include >/dev/null
- emake
- popd >/dev/null
-
- if use device-mapper-only ; then
- emake device-mapper
- else
- emake
- emake CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
- fi
-}
-
-src_install() {
- local inst
- INSTALL_TARGETS="install install_tmpfiles_configuration"
- # install systemd related files only when requested, bug #522430
- use systemd && INSTALL_TARGETS="${INSTALL_TARGETS} install_systemd_units install_systemd_generators"
- use device-mapper-only && INSTALL_TARGETS="install_device-mapper"
- for inst in ${INSTALL_TARGETS}; do
- emake DESTDIR="${D}" ${inst}
- done
-
- newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
- newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
-
- if use !device-mapper-only ; then
- newinitd "${FILESDIR}"/dmeventd.initd-2.02.67-r1 dmeventd
- newinitd "${FILESDIR}"/lvm.rc-2.02.116-r6 lvm
- newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm
-
- newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
- newinitd "${FILESDIR}"/lvmetad.initd-2.02.116-r3 lvmetad
- fi
-
- if use static-libs; then
- dolib.a libdm/ioctl/libdevmapper.a
- if use !device-mapper-only ; then
- dolib.a libdaemon/client/libdaemonclient.a #462908
- dolib.a daemons/dmeventd/libdevmapper-event.a
- fi
- else
- rm -f "${ED}"usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
- fi
-
- if use lvm2create_initrd; then
- dosbin scripts/lvm2create_initrd/lvm2create_initrd
- doman scripts/lvm2create_initrd/lvm2create_initrd.8
- newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
- fi
-
- insinto /etc
- doins "${FILESDIR}"/dmtab
-
- dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
-}
-
-pkg_postinst() {
- ewarn "Make sure the \"lvm\" init script is in the runlevels:"
- ewarn "# rc-update add lvm boot"
- ewarn
- ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
- ewarn "to enable lvm autoactivation and metadata caching."
-}
-
-src_test() {
- einfo "Tests are disabled because of device-node mucking, if you want to"
- einfo "run tests, compile the package and see ${S}/tests"
-}
diff --git a/sys-fs/lvm2/lvm2-2.02.183.ebuild b/sys-fs/lvm2/lvm2-2.02.183.ebuild
deleted file mode 100644
index 24737eaf33f..00000000000
--- a/sys-fs/lvm2/lvm2-2.02.183.ebuild
+++ /dev/null
@@ -1,259 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit autotools linux-info multilib systemd toolchain-funcs udev flag-o-matic
-
-DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
-HOMEPAGE="https://sourceware.org/lvm2/"
-SRC_URI="ftp://sourceware.org/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
- ftp://sourceware.org/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 ~sh ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="readline static static-libs systemd lvm2create_initrd sanlock selinux +udev +thin device-mapper-only"
-REQUIRED_USE="device-mapper-only? ( !lvm2create_initrd !sanlock !thin )
- systemd? ( udev )"
-
-DEPEND_COMMON="
- dev-libs/libaio[static-libs?]
- static? ( dev-libs/libaio[static-libs] )
- !static? ( dev-libs/libaio[static-libs?] )
- readline? ( sys-libs/readline:0= )
- sanlock? ( sys-cluster/sanlock )
- systemd? ( >=sys-apps/systemd-205:0= )
- udev? ( >=virtual/libudev-208:=[static-libs(-)?] )"
-# /run is now required for locking during early boot. /var cannot be assumed to
-# be available -- thus, pull in recent enough baselayout for /run.
-# This version of LVM is incompatible with cryptsetup <1.1.2.
-RDEPEND="${DEPEND_COMMON}
- >=sys-apps/baselayout-2.2
- !<sys-apps/openrc-0.11
- !<sys-fs/cryptsetup-1.1.2
- !!sys-fs/lvm-user
- >=sys-apps/util-linux-2.16
- lvm2create_initrd? ( sys-apps/makedev )
- thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
-# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
-# USE 'static' currently only works with eudev, bug 520450
-DEPEND="${DEPEND_COMMON}
- virtual/pkgconfig
- >=sys-devel/binutils-2.20.1-r1
- sys-devel/autoconf-archive
- static? (
- selinux? ( sys-libs/libselinux[static-libs] )
- udev? ( >=sys-fs/eudev-3.1.2[static-libs] )
- >=sys-apps/util-linux-2.16[static-libs]
- )"
-
-S=${WORKDIR}/${PN/lvm/LVM}.${PV}
-
-PATCHES=(
- # Gentoo specific modification(s):
- "${FILESDIR}"/${PN}-2.02.178-example.conf.in.patch
-
- # For upstream -- review and forward:
- "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
- "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
- "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
- "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
- "${FILESDIR}"/${PN}-2.02.178-asneeded.patch # -Wl,--as-needed
- "${FILESDIR}"/${PN}-2.02.178-dynamic-static-ldflags.patch #332905
- "${FILESDIR}"/${PN}-2.02.178-static-pkgconfig-libs.patch #370217, #439414 + blkid
- "${FILESDIR}"/${PN}-2.02.176-pthread-pkgconfig.patch #492450
- "${FILESDIR}"/${PN}-2.02.171-static-libm.patch #617756
- "${FILESDIR}"/${PN}-2.02.166-HPPA-no-O_DIRECT.patch #657446
- #"${FILESDIR}"/${PN}-2.02.145-mkdev.patch #580062 # Merged upstream
-)
-
-pkg_setup() {
- local CONFIG_CHECK="~SYSVIPC"
-
- if use udev; then
- local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
- if linux_config_exists; then
- local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
- if [ -n "${uevent_helper_path}" ] && [ "${uevent_helper_path}" != '""' ]; then
- ewarn "It's recommended to set an empty value to the following kernel config option:"
- ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
- fi
- fi
- fi
-
- check_extra_config
-
- # 1. Genkernel no longer copies /sbin/lvm blindly.
- if use static; then
- elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
- elog "their static versions. If you need the static binaries,"
- elog "you must append .static to the filename!"
- fi
-}
-
-src_prepare() {
- default
-
- sed -i \
- -e "1iAR = $(tc-getAR)" \
- -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
- make.tmpl.in || die #444082
-
- sed -i -e '/FLAG/s:-O2::' configure{.ac,} || die #480212
-
- if use udev && ! use device-mapper-only; then
- sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196
- elog "Notice that \"use_lvmetad\" setting is enabled with USE=\"udev\" in"
- elog "/etc/lvm/lvm.conf, which will require restart of udev, lvm, and lvmetad"
- elog "if it was previously disabled."
- fi
-
- sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
-
- # Without thin-privision-tools, there is nothing to install for target install_man7:
- if ! use thin ; then
- sed -i -e '/^install_lvm2/s:install_man7::' man/Makefile.in || die
- fi
-
- eautoreconf
-}
-
-src_configure() {
- filter-flags -flto
- local myeconfargs=()
-
- # Most of this package does weird stuff.
- # The build options are tristate, and --without is NOT supported
- # options: 'none', 'internal', 'shared'
- myeconfargs+=(
- $(use_enable !device-mapper-only dmeventd)
- $(use_enable !device-mapper-only cmdlib)
- $(use_enable !device-mapper-only applib)
- $(use_enable !device-mapper-only fsadm)
- $(use_enable !device-mapper-only lvmetad)
- $(usex device-mapper-only --disable-udev-systemd-background-jobs '')
-
- # This only causes the .static versions to become available
- $(usex static --enable-static_link '')
-
- # dmeventd requires mirrors to be internal, and snapshot available
- # so we cannot disable them
- --with-mirrors="$(usex device-mapper-only none internal)"
- --with-snapshots="$(usex device-mapper-only none internal)"
-
- # disable O_DIRECT support on hppa, breaks pv detection (#99532)
- $(usex hppa --disable-o_direct '')
- )
-
- if use thin; then
- myeconfargs+=( --with-thin=internal --with-cache=internal )
- local texec
- for texec in check dump repair restore; do
- myeconfargs+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
- myeconfargs+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
- done
- else
- myeconfargs+=( --with-thin=none --with-cache=none )
- fi
-
- myeconfargs+=( --with-clvmd=none --with-cluster=none )
-
- myeconfargs+=(
- $(use_enable readline)
- $(use_enable selinux)
- --enable-pkgconfig
- --with-confdir="${EPREFIX}"/etc
- --exec-prefix="${EPREFIX}"
- --sbindir="${EPREFIX}/sbin"
- --with-staticdir="${EPREFIX}"/sbin
- --libdir="${EPREFIX}/$(get_libdir)"
- --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)"
- --with-default-dm-run-dir=/run
- --with-default-run-dir=/run/lvm
- --with-default-locking-dir=/run/lock/lvm
- --with-default-pid-dir=/run
- $(use_enable udev udev_rules)
- $(use_enable udev udev_sync)
- $(use_with udev udevdir "$(get_udevdir)"/rules.d)
- $(use_enable sanlock lvmlockd-sanlock)
- $(use_enable systemd udev-systemd-background-jobs)
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
- CLDFLAGS="${LDFLAGS}"
- )
- # Hard-wire this to bash as some shells (dash) don't know
- # "-o pipefail" #682404
- CONFIG_SHELL="/bin/bash" \
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- pushd include >/dev/null
- emake
- popd >/dev/null
-
- if use device-mapper-only ; then
- emake device-mapper
- else
- emake
- emake CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
- fi
-}
-
-src_install() {
- local inst INSTALL_TARGETS
- INSTALL_TARGETS=( install install_tmpfiles_configuration )
- # install systemd related files only when requested, bug #522430
- use systemd && INSTALL_TARGETS+=( install_systemd_units install_systemd_generators )
- use device-mapper-only && INSTALL_TARGETS=( install_device-mapper )
- for inst in ${INSTALL_TARGETS[@]}; do
- emake DESTDIR="${D}" ${inst}
- done
-
- newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
- newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
-
- if use !device-mapper-only ; then
- newinitd "${FILESDIR}"/dmeventd.initd-2.02.67-r1 dmeventd
- newinitd "${FILESDIR}"/lvm.rc-2.02.172 lvm
- newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm
-
- newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
- newinitd "${FILESDIR}"/lvmetad.initd-2.02.116-r3 lvmetad
- fi
-
- if use sanlock; then
- newinitd "${FILESDIR}"/lvmlockd.initd-2.02.166-r1 lvmlockd
- fi
-
- if use static-libs; then
- dolib.a libdm/ioctl/libdevmapper.a
- dolib.a libdaemon/client/libdaemonclient.a #462908
- dolib.a daemons/dmeventd/libdevmapper-event.a
- else
- rm -f "${ED%/}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
- fi
-
- if use lvm2create_initrd; then
- dosbin scripts/lvm2create_initrd/lvm2create_initrd
- doman scripts/lvm2create_initrd/lvm2create_initrd.8
- newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
- fi
-
- insinto /etc
- doins "${FILESDIR}"/dmtab
-
- dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
-}
-
-pkg_postinst() {
- ewarn "Make sure the \"lvm\" init script is in the runlevels:"
- ewarn "# rc-update add lvm boot"
- ewarn
- ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
- ewarn "to enable lvm autoactivation and metadata caching."
-}
-
-src_test() {
- einfo "Tests are disabled because of device-node mucking, if you want to"
- einfo "run tests, compile the package and see ${S}/tests"
-}
diff --git a/sys-fs/lvm2/lvm2-2.02.185-r1.ebuild b/sys-fs/lvm2/lvm2-2.02.185-r1.ebuild
deleted file mode 100644
index ec678f7044b..00000000000
--- a/sys-fs/lvm2/lvm2-2.02.185-r1.ebuild
+++ /dev/null
@@ -1,278 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit autotools linux-info multilib systemd toolchain-funcs udev flag-o-matic
-
-DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
-HOMEPAGE="https://sourceware.org/lvm2/"
-SRC_URI="ftp://sourceware.org/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
- ftp://sourceware.org/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="readline static static-libs systemd lvm2create_initrd sanlock selinux +udev +thin device-mapper-only"
-REQUIRED_USE="device-mapper-only? ( !lvm2create_initrd !sanlock !thin )
- systemd? ( udev )"
-
-DEPEND_COMMON="
- dev-libs/libaio[static-libs?]
- static? ( dev-libs/libaio[static-libs] )
- !static? ( dev-libs/libaio[static-libs?] )
- readline? ( sys-libs/readline:0= )
- sanlock? ( sys-cluster/sanlock )
- systemd? ( >=sys-apps/systemd-205:0= )
- udev? ( >=virtual/libudev-208:=[static-libs(-)?] )"
-# /run is now required for locking during early boot. /var cannot be assumed to
-# be available -- thus, pull in recent enough baselayout for /run.
-# This version of LVM is incompatible with cryptsetup <1.1.2.
-RDEPEND="${DEPEND_COMMON}
- >=sys-apps/baselayout-2.2
- !<sys-apps/openrc-0.11
- !<sys-fs/cryptsetup-1.1.2
- !!sys-fs/lvm-user
- >=sys-apps/util-linux-2.16
- lvm2create_initrd? ( sys-apps/makedev )
- thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
-# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
-# USE 'static' currently only works with eudev, bug 520450
-DEPEND="${DEPEND_COMMON}
- >=sys-devel/binutils-2.20.1-r1
- static? (
- selinux? ( sys-libs/libselinux[static-libs] )
- udev? ( >=sys-fs/eudev-3.1.2[static-libs] )
- >=sys-apps/util-linux-2.16[static-libs]
- )"
-BDEPEND="
- sys-devel/autoconf-archive
- virtual/pkgconfig
-"
-
-S="${WORKDIR}/${PN/lvm/LVM}.${PV}"
-
-PATCHES=(
- # Gentoo specific modification(s):
- "${FILESDIR}"/${PN}-2.02.178-example.conf.in.patch
-
- # For upstream -- review and forward:
- "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
- "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
- "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
- "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
- "${FILESDIR}"/${PN}-2.02.178-asneeded.patch # -Wl,--as-needed
- "${FILESDIR}"/${PN}-2.02.178-dynamic-static-ldflags.patch #332905
- "${FILESDIR}"/${PN}-2.02.178-static-pkgconfig-libs.patch #370217, #439414 + blkid
- "${FILESDIR}"/${PN}-2.02.176-pthread-pkgconfig.patch #492450
- "${FILESDIR}"/${PN}-2.02.171-static-libm.patch #617756
- "${FILESDIR}"/${PN}-2.02.166-HPPA-no-O_DIRECT.patch #657446
- #"${FILESDIR}"/${PN}-2.02.145-mkdev.patch #580062 # Merged upstream
- "${FILESDIR}"/${PN}-2.02.184-dmeventd-no-idle-exit.patch
- #"${FILESDIR}"/${PN}-2.02.184-allow-reading-metadata-with-invalid-creation_time.patch #682380 # merged upstream
- "${FILESDIR}"/${PN}-2.02.184-mksh_build.patch #686652
-)
-
-pkg_setup() {
- local CONFIG_CHECK="~SYSVIPC"
-
- if use udev; then
- local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
- if linux_config_exists; then
- local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
- if [[ -n "${uevent_helper_path}" ]] && [[ "${uevent_helper_path}" != '""' ]]; then
- ewarn "It's recommended to set an empty value to the following kernel config option:"
- ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
- fi
- fi
- fi
-
- check_extra_config
-
- # 1. Genkernel no longer copies /sbin/lvm blindly.
- if use static; then
- elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
- elog "their static versions. If you need the static binaries,"
- elog "you must append .static to the filename!"
- fi
-}
-
-src_prepare() {
- default
-
- sed -i \
- -e "1iAR = $(tc-getAR)" \
- -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
- make.tmpl.in || die #444082
-
- sed -i -e '/FLAG/s:-O2::' configure{.ac,} || die #480212
-
- if use udev && ! use device-mapper-only; then
- sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196
- elog "Notice that \"use_lvmetad\" setting is enabled with USE=\"udev\" in"
- elog "/etc/lvm/lvm.conf, which will require restart of udev, lvm, and lvmetad"
- elog "if it was previously disabled."
- fi
-
- sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
-
- # Don't install thin man page when not requested
- if ! use thin ; then
- sed -i -e 's/^\(MAN7+=.*\) $(LVMTHINMAN) \(.*\)$/\1 \2/' man/Makefile.in || die
- fi
-
- eautoreconf
-}
-
-src_configure() {
- filter-flags -flto
- local myeconfargs=()
-
- # Most of this package does weird stuff.
- # The build options are tristate, and --without is NOT supported
- # options: 'none', 'internal', 'shared'
- myeconfargs+=(
- $(use_enable !device-mapper-only dmfilemapd)
- $(use_enable !device-mapper-only dmeventd)
- $(use_enable !device-mapper-only cmdlib)
- $(use_enable !device-mapper-only applib)
- $(use_enable !device-mapper-only fsadm)
- $(use_enable !device-mapper-only lvmetad)
- $(use_enable !device-mapper-only lvmpolld)
- $(usex device-mapper-only --disable-udev-systemd-background-jobs '')
-
- # This only causes the .static versions to become available
- $(usex static --enable-static_link '')
-
- # dmeventd requires mirrors to be internal, and snapshot available
- # so we cannot disable them
- --with-mirrors="$(usex device-mapper-only none internal)"
- --with-snapshots="$(usex device-mapper-only none internal)"
-
- # disable O_DIRECT support on hppa, breaks pv detection (#99532)
- $(usex hppa --disable-o_direct '')
- )
-
- if use thin; then
- myeconfargs+=( --with-thin=internal --with-cache=internal )
- local texec
- for texec in check dump repair restore; do
- myeconfargs+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
- myeconfargs+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
- done
- else
- myeconfargs+=( --with-thin=none --with-cache=none )
- fi
-
- myeconfargs+=( --with-clvmd=none --with-cluster=none )
-
- myeconfargs+=(
- $(use_enable readline)
- $(use_enable selinux)
- --enable-pkgconfig
- --with-confdir="${EPREFIX}"/etc
- --exec-prefix="${EPREFIX}"
- --sbindir="${EPREFIX}/sbin"
- --with-staticdir="${EPREFIX}"/sbin
- --libdir="${EPREFIX}/$(get_libdir)"
- --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)"
- --with-default-dm-run-dir=/run
- --with-default-run-dir=/run/lvm
- --with-default-locking-dir=/run/lock/lvm
- --with-default-pid-dir=/run
- $(use_enable udev udev_rules)
- $(use_enable udev udev_sync)
- $(use_with udev udevdir "$(get_udevdir)"/rules.d)
- $(use_enable sanlock lvmlockd-sanlock)
- $(use_enable systemd udev-systemd-background-jobs)
- $(use_enable systemd notify-dbus)
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
- CLDFLAGS="${LDFLAGS}"
- )
- # Hard-wire this to bash as some shells (dash) don't know
- # "-o pipefail" #682404
- CONFIG_SHELL="/bin/bash" \
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- pushd include >/dev/null
- emake V=1
- popd >/dev/null
-
- if use device-mapper-only ; then
- emake V=1 device-mapper
- else
- emake V=1
- emake V=1 CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
- fi
-}
-
-src_install() {
- local inst INSTALL_TARGETS
- INSTALL_TARGETS=( install install_tmpfiles_configuration )
- # install systemd related files only when requested, bug #522430
- use systemd && INSTALL_TARGETS+=( install_systemd_units install_systemd_generators )
- use device-mapper-only && INSTALL_TARGETS=( install_device-mapper )
- for inst in ${INSTALL_TARGETS[@]}; do
- emake V=1 DESTDIR="${D}" ${inst}
- done
-
- newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
- newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
-
- if use !device-mapper-only ; then
- newinitd "${FILESDIR}"/dmeventd.initd-2.02.184-r2 dmeventd
- newinitd "${FILESDIR}"/lvm.rc-2.02.184-r3 lvm
- newconfd "${FILESDIR}"/lvm.confd-2.02.184-r3 lvm
- if ! use udev ; then
- # We keep the variable but remove udev from it.
- sed -r -i \
- -e '/^rc_need=/s/\<udev\>//g' \
- "${ED}/etc/conf.d/lvm" || die "Could not drop udev from rc_need"
- fi
-
- newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
- newinitd "${FILESDIR}"/lvmetad.initd-2.02.116-r3 lvmetad
- newinitd "${FILESDIR}"/lvmpolld.initd-2.02.183 lvmpolld
- fi
-
- if use sanlock; then
- newinitd "${FILESDIR}"/lvmlockd.initd-2.02.166-r1 lvmlockd
- fi
-
- if use static-libs; then
- dolib.a libdm/ioctl/libdevmapper.a
- if use !device-mapper-only; then
- # depends on lvmetad
- dolib.a libdaemon/client/libdaemonclient.a #462908
- # depends on dmeventd
- dolib.a daemons/dmeventd/libdevmapper-event.a
- fi
- else
- rm -f "${ED}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
- fi
-
- if use lvm2create_initrd; then
- dosbin scripts/lvm2create_initrd/lvm2create_initrd
- doman scripts/lvm2create_initrd/lvm2create_initrd.8
- newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
- fi
-
- insinto /etc
- doins "${FILESDIR}"/dmtab
-
- dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
-}
-
-pkg_postinst() {
- ewarn "Make sure the \"lvm\" init script is in the runlevels:"
- ewarn "# rc-update add lvm boot"
- ewarn
- ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
- ewarn "to enable lvm autoactivation and metadata caching."
-}
-
-src_test() {
- einfo "Tests are disabled because of device-node mucking, if you want to"
- einfo "run tests, compile the package and see ${S}/tests"
-}
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2019-11-28 22:45 Robin H. Johnson
0 siblings, 0 replies; 29+ messages in thread
From: Robin H. Johnson @ 2019-11-28 22:45 UTC (permalink / raw
To: gentoo-commits
commit: 0a7dcaff7c920619ffce4c0195223cbd9db02411
Author: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 28 22:43:05 2019 +0000
Commit: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Thu Nov 28 22:44:35 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0a7dcaff
sys-fs/lvm2: partial revert of 2161b3a104c9a5664131b9297766db0538e7464e
Bug 690494 shows that the regression is still not fixed in 2.02.186-r2,
so 2.02.145-r2 is still required for some users.
Bug: https://bugs.gentoo.org/show_bug.cgi?id=690494
Package-Manager: Portage-2.3.79, Repoman-2.3.18
Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>
sys-fs/lvm2/Manifest | 3 +
.../lvm2-2.02.129-static-pkgconfig-libs.patch | 102 +++++++++
.../files/lvm2-2.02.130-pthread-pkgconfig.patch | 32 +++
.../lvm2-2.02.139-dynamic-static-ldflags.patch | 63 +++++
sys-fs/lvm2/files/lvm2-2.02.145-mkdev.patch | 127 +++++++++++
sys-fs/lvm2/lvm2-2.02.145-r2.ebuild | 254 +++++++++++++++++++++
6 files changed, 581 insertions(+)
diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest
index 701f9bc11eb..9b72fb0647e 100644
--- a/sys-fs/lvm2/Manifest
+++ b/sys-fs/lvm2/Manifest
@@ -1,4 +1,7 @@
DIST LVM2.2.02.116.tgz 1538340 BLAKE2B 718261b60626f2eca5ba13011646bf551523ed8e59aaceceb9097221c000268b7533ac43151ff1d9229911d87e764fbdb29ffa1d305f2aae99220a68e301559a SHA512 992541339637d597257850b4ff7f5348fb7cdcccf806ac8d986a3be1ad1edc5f6bfaedeed5128690c541d1a485cdc75742e90a766363c39867901003518fb84d
+DIST LVM2.2.02.145.tgz 1986370 BLAKE2B 0c9e5efae17f26ff86152cecbf0b11a74e85007b2fa9491f44dec03ac8c11375bacf6685213b4be19037c8fbf70e13549516716ecf8fa262919a44625e6aab34 SHA512 84e28b3efc940837ea9da70fce620744aea0945ba29383b76ad7bcd4b5259b897c714162a8e8b7cfe26ae736a3ad2eca633a3e0df4d6280a32b28bd4cf472d27
+DIST LVM2.2.02.183.tgz 2380574 BLAKE2B b1fe71b6cdb8ee20dd53d0ad3399c553487baafa12657ec81a794c84ad161988afdb8693ac247877a2645d693a0740c74c8b991047ed2ba4adc9ec75f1c261a9 SHA512 3947523c6b0862ada40677ed171ed0cf95e070119e377296fc5ccb153e9c4212d34c0b16a887dbd68ccf265525345dabfed2aa59fb3604555429a7e2ecfff4d7
DIST LVM2.2.02.184.tgz 2383698 BLAKE2B b6e308d76d541b9461dfcc6e82db256a175ccdabfae9c9d57d84eabd0d5ea50e3e09954b34741903e027412c2c26f72a5005fe934261576337a810738139deb8 SHA512 9db74f675e7c58f663a39afb79b6f33a33ad2cfbda63e9783ef5027f33977b4a1262a2e6754aa67c586eed083ee119a2e837c32a7746dcc53f13877c9d65c390
+DIST LVM2.2.02.185.tgz 2386328 BLAKE2B d2e31de3eedd7518ea2d239cb9b36b38e351d7fc070097a1fc4e7934e3636195da3247fba57d684bb0b31b7f3dbdfe29161bd121b2962b2c35c8c9d7914b4506 SHA512 f421505551aec2a09bc862f2fcc1ee825bc4d94c53a01d13265631e99308d60fbca40112be5bc7824cce3ef223c0775d2f6c345f6a3f227229a0566c903841bf
DIST LVM2.2.02.186.tgz 2389759 BLAKE2B e094c0135d455386ea5789208899d4dbdd5e78bebf52e49ab5587f881fbc2b94c6accecacf1b4ed182b0c87046402c00a47a1b724795a94fe3ec998b580a77ae SHA512 06a1c00142ee41d8a576a5e06a5beae70baced3020e753ce3b612355cc4d9e33be4acf58569d49436c4ee1118d288d884c7301b7d886074eaf9f2fa6b0248c03
DIST LVM2.2.03.06.tgz 2453672 BLAKE2B 3d39bef4915ddb15c51011c131afcd2735723fc3e880e01fb863d82ccac0c34b7d71f6a3a126c6bb53fbf2dd923ccf0443e4e02a492fc0660ee1ef168dbb0e79 SHA512 2a01d34fa58348b0fac3d40a9ce736aa499af18c7e9bf96a3eeefc6a2de6a73460c83b6c67be20e9bd440998cbf847bc3e7a028385f38d715e221a5a857d391f
diff --git a/sys-fs/lvm2/files/lvm2-2.02.129-static-pkgconfig-libs.patch b/sys-fs/lvm2/files/lvm2-2.02.129-static-pkgconfig-libs.patch
new file mode 100644
index 00000000000..239694523b3
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.02.129-static-pkgconfig-libs.patch
@@ -0,0 +1,102 @@
+--- LVM2.2.02.129/configure.in
++++ LVM2.2.02.129/configure.in
+@@ -1287,6 +1287,7 @@
+ fi])
+ if test "$BLKID_WIPING" = yes; then
+ BLKID_PC="blkid"
++ BLKID_STATIC_LIBS=`$PKG_CONFIG --static --libs $BLKID_PC`
+ DEFAULT_USE_BLKID_WIPING=1
+ AC_DEFINE([BLKID_WIPING_SUPPORT], 1, [Define to 1 to use libblkid detection of signatures when wiping.])
+ else
+@@ -1332,6 +1333,7 @@
+ if test "$UDEV_SYNC" = yes; then
+ pkg_config_init
+ PKG_CHECK_MODULES(UDEV, libudev >= 143, [UDEV_PC="libudev"])
++ UDEV_STATIC_LIBS=`$PKG_CONFIG --static --libs libudev`
+ AC_DEFINE([UDEV_SYNC_SUPPORT], 1, [Define to 1 to enable synchronisation with udev processing.])
+ fi
+
+@@ -1558,19 +1560,32 @@
+ if test "$SELINUX" = yes; then
+ AC_CHECK_LIB([sepol], [sepol_check_context], [
+ AC_DEFINE([HAVE_SEPOL], 1, [Define to 1 if sepol_check_context is available.])
+- SELINUX_LIBS="-lsepol"])
++ SEPOL_LIBS="-lsepol"])
++
++ dnl -- init pkgconfig if required
++ if test x$PKGCONFIG_INIT != x1; then
++ pkg_config_init
++ fi
++ PKG_CHECK_MODULES(SELINUX, libselinux, [
++ SELINUX_PC="libselinux"
++ SELINUX_STATIC_LIBS=`$PKG_CONFIG --static --libs libselinux`
++ SELINUX_LIBS="$SELINUX_LIBS $SEPOL_LIBS"
++ AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
++ ],[
++ dnl -- old non-pkgconfig method, is buggy with static builds
+
+ AC_CHECK_LIB([selinux], [is_selinux_enabled], [
+ AC_CHECK_HEADERS([selinux/selinux.h],, hard_bailout)
+ AC_CHECK_HEADERS([selinux/label.h])
+ AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
+- SELINUX_LIBS="-lselinux $SELINUX_LIBS"
++ SELINUX_LIBS="-lselinux $SEPOL_LIBS"
+ SELINUX_PC="libselinux"
+ HAVE_SELINUX=yes ], [
+ AC_MSG_WARN(Disabling selinux)
+ SELINUX_LIBS=
+ SELINUX_PC=
+ HAVE_SELINUX=no ])
++ ])
+ fi
+
+ ################################################################################
+@@ -1902,6 +1917,7 @@
+ ################################################################################
+ AC_SUBST(APPLIB)
+ AC_SUBST(AWK)
++AC_SUBST(BLKID_STATIC_LIBS)
+ AC_SUBST(BLKID_PC)
+ AC_SUBST(BUILD_CMIRRORD)
+ AC_SUBST(BUILD_DMEVENTD)
+@@ -2005,6 +2021,7 @@
+ AC_SUBST(SALCK_CFLAGS)
+ AC_SUBST(SALCK_LIBS)
+ AC_SUBST(SELINUX_LIBS)
++AC_SUBST(SELINUX_STATIC_LIBS)
+ AC_SUBST(SELINUX_PC)
+ AC_SUBST(SNAPSHOTS)
+ AC_SUBST(STATICDIR)
+@@ -2020,6 +2037,7 @@
+ AC_SUBST(CACHE_DUMP_CMD)
+ AC_SUBST(CACHE_REPAIR_CMD)
+ AC_SUBST(CACHE_RESTORE_CMD)
++AC_SUBST(UDEV_STATIC_LIBS)
+ AC_SUBST(UDEV_PC)
+ AC_SUBST(UDEV_RULES)
+ AC_SUBST(UDEV_SYNC)
+--- LVM2.2.02.129/make.tmpl.in
++++ LVM2.2.02.129/make.tmpl.in
+@@ -43,7 +43,7 @@
+
+ LIBS = @LIBS@
+ # Extra libraries always linked with static binaries
+-STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS)
++STATIC_LIBS = $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS)
+ DEFS += @DEFS@
+ # FIXME set this only where it's needed, not globally?
+ CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
+@@ -58,10 +58,13 @@
+ PTHREAD_LIBS = @PTHREAD_LIBS@
+ READLINE_LIBS = @READLINE_LIBS@
+ SELINUX_LIBS = @SELINUX_LIBS@
++SELINUX_STATIC_LIBS = @SELINUX_STATIC_LIBS@
+ UDEV_CFLAGS = @UDEV_CFLAGS@
+ UDEV_LIBS = @UDEV_LIBS@
++UDEV_STATIC_LIBS = @UDEV_STATIC_LIBS@
+ BLKID_CFLAGS = @BLKID_CFLAGS@
+ BLKID_LIBS = @BLKID_LIBS@
++BLKID_STATIC_LIBS = @BLKID_STATIC_LIBS@
+ VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
+ TESTING = @TESTING@
+
diff --git a/sys-fs/lvm2/files/lvm2-2.02.130-pthread-pkgconfig.patch b/sys-fs/lvm2/files/lvm2-2.02.130-pthread-pkgconfig.patch
new file mode 100644
index 00000000000..11db632e2e7
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.02.130-pthread-pkgconfig.patch
@@ -0,0 +1,32 @@
+Make sure that libdm usage always brings in pthread libraries, both in
+pkgconfig and during manual build.
+
+--- LVM2.2.02.130/libdm/libdevmapper.pc.in
++++ LVM2.2.02.130/libdm/libdevmapper.pc.in
+@@ -9,4 +9,4 @@
+ Cflags: -I${includedir}
+ Libs: -L${libdir} -ldevmapper
+ Requires.private: @SELINUX_PC@ @UDEV_PC@
+-Libs.private: -lm @RT_LIB@
++Libs.private: -lm @RT_LIB@ @PTHREAD_LIBS@
+--- LVM2.2.02.130/tools/Makefile.in
++++ LVM2.2.02.130/tools/Makefile.in
+@@ -90,6 +90,7 @@
+ INSTALL_LVM_TARGETS += install_tools_static
+ INSTALL_DMSETUP_TARGETS += install_dmsetup_static
+ INSTALL_CMDLIB_TARGETS += install_cmdlib_static
++ STATIC_LIBS += @PTHREAD_LIBS@
+ endif
+
+ LVMLIBS = $(LVMINTERNAL_LIBS)
+@@ -120,6 +121,10 @@
+
+ include $(top_builddir)/make.tmpl
+
++ifeq ("@STATIC_LINK@", "yes")
++ STATIC_LIBS += @PTHREAD_LIBS@
++endif
++
+ device-mapper: $(TARGETS_DM)
+
+ CFLAGS_dmsetup.o += $(UDEV_CFLAGS) $(EXTRA_EXEC_CFLAGS)
diff --git a/sys-fs/lvm2/files/lvm2-2.02.139-dynamic-static-ldflags.patch b/sys-fs/lvm2/files/lvm2-2.02.139-dynamic-static-ldflags.patch
new file mode 100644
index 00000000000..312e546e240
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.02.139-dynamic-static-ldflags.patch
@@ -0,0 +1,63 @@
+diff -ur LVM2.2.02.139_O/configure.in LVM2.2.02.139/configure.in
+--- LVM2.2.02.139_O/configure.in 2016-01-19 12:54:33.155187005 +0000
++++ LVM2.2.02.139/configure.in 2016-01-19 12:56:39.487181372 +0000
+@@ -31,6 +31,7 @@
+ linux*)
+ CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym"
+ ELDFLAGS="-Wl,--export-dynamic"
++ STATIC_LDFLAGS="-Wl,--no-export-dynamic"
+ # FIXME Generate list and use --dynamic-list=.dlopen.sym
+ CLDWHOLEARCHIVE="-Wl,-whole-archive"
+ CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive"
+@@ -2009,6 +2010,7 @@
+ AC_SUBST(SELINUX_PC)
+ AC_SUBST(SNAPSHOTS)
+ AC_SUBST(STATICDIR)
++AC_SUBST(STATIC_LDFLAGS)
+ AC_SUBST(STATIC_LINK)
+ AC_SUBST(TESTING)
+ AC_SUBST(TESTSUITE_DATA)
+diff -ur LVM2.2.02.139_O/daemons/dmeventd/Makefile.in LVM2.2.02.139/daemons/dmeventd/Makefile.in
+--- LVM2.2.02.139_O/daemons/dmeventd/Makefile.in 2016-01-19 12:54:33.278186999 +0000
++++ LVM2.2.02.139/daemons/dmeventd/Makefile.in 2016-01-19 12:57:44.277178484 +0000
+@@ -67,7 +67,7 @@
+ $(DL_LIBS) $(LVMLIBS) $(LIBS) -rdynamic
+
+ dmeventd.static: $(LIB_STATIC) dmeventd.o $(interfacebuilddir)/libdevmapper.a
+- $(CC) $(CFLAGS) $(LDFLAGS) $(ELDFLAGS) -static -L. -L$(interfacebuilddir) -o $@ \
++ $(CC) $(CFLAGS) $(LDFLAGS) $(ELDFLAGS) $(STATIC_LDFLAGS) -static -L. -L$(interfacebuilddir) -o $@ \
+ dmeventd.o $(DL_LIBS) $(LVMLIBS) $(LIBS) $(STATIC_LIBS)
+
+ ifeq ("@PKGCONFIG@", "yes")
+diff -ur LVM2.2.02.139_O/make.tmpl.in LVM2.2.02.139/make.tmpl.in
+--- LVM2.2.02.139_O/make.tmpl.in 2016-01-19 12:54:33.529186988 +0000
++++ LVM2.2.02.139/make.tmpl.in 2016-01-19 12:58:31.514176378 +0000
+@@ -49,6 +49,7 @@
+ # FIXME set this only where it's needed, not globally?
+ CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
+ LDFLAGS ?= @COPTIMISE_FLAG@ @LDFLAGS@
++STATIC_LDFLAGS += @STATIC_LDFLAGS@
+ CLDFLAGS += @CLDFLAGS@
+ ELDFLAGS += @ELDFLAGS@
+ LDDEPS += @LDDEPS@
+diff -ur LVM2.2.02.139_O/tools/Makefile.in LVM2.2.02.139/tools/Makefile.in
+--- LVM2.2.02.139_O/tools/Makefile.in 2016-01-08 18:51:21.000000000 +0000
++++ LVM2.2.02.139/tools/Makefile.in 2016-01-19 13:00:08.349172060 +0000
+@@ -129,7 +129,7 @@
+ -o $@ dmsetup.o -ldevmapper $(LIBS)
+
+ dmsetup.static: dmsetup.o $(interfacebuilddir)/libdevmapper.a
+- $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) \
++ $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) \
+ -o $@ dmsetup.o -ldevmapper $(M_LIBS) $(PTHREAD_LIBS) $(STATIC_LIBS) $(LIBS)
+
+ all: device-mapper
+@@ -146,7 +146,7 @@
+ endif
+
+ lvm.static: $(OBJECTS) lvm-static.o $(top_builddir)/lib/liblvm-internal.a $(interfacebuilddir)/libdevmapper.a
+- $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) -o $@ \
++ $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) -o $@ \
+ $(OBJECTS) lvm-static.o $(LVMLIBS) $(STATIC_LIBS) $(LIBS)
+
+ liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
diff --git a/sys-fs/lvm2/files/lvm2-2.02.145-mkdev.patch b/sys-fs/lvm2/files/lvm2-2.02.145-mkdev.patch
new file mode 100644
index 00000000000..f91dccd5c18
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.02.145-mkdev.patch
@@ -0,0 +1,127 @@
+https://bugs.gentoo.org/580062
+
+From 2a1d0fa8ea765604cd8274aac5aa7876f1c145c9 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Tue, 19 Apr 2016 23:53:22 -0400
+Subject: [PATCH] convert major/minor/makedev handling
+
+Most of the files in here use MAJOR/MINOR/MKDEV macros, but a few
+missed it. Update the defines in those files to match them.
+---
+ daemons/cmirrord/functions.c | 16 ++++++++++++----
+ daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c | 12 ++++++++++--
+ lib/filters/filter-sysfs.c | 6 ++++--
+ 3 files changed, 26 insertions(+), 8 deletions(-)
+
+diff --git a/daemons/cmirrord/functions.c b/daemons/cmirrord/functions.c
+index e9d3c09..5b3cb38 100644
+--- a/daemons/cmirrord/functions.c
++++ b/daemons/cmirrord/functions.c
+@@ -20,6 +20,14 @@
+ #include <time.h>
+ #include <unistd.h>
+
++#ifdef __linux__
++# include "kdev_t.h"
++#else
++# define MAJOR(x) major((x))
++# define MINOR(x) minor((x))
++# define MKDEV(x,y) makedev((x),(y))
++#endif
++
+ #define BYTE_SHIFT 3
+
+ /*
+@@ -333,8 +341,8 @@ static int find_disk_path(char *major_minor_str, char *path_rtn, int *unlink_pat
+ continue;
+ }
+ if (S_ISBLK(statbuf.st_mode) &&
+- (major(statbuf.st_rdev) == major) &&
+- (minor(statbuf.st_rdev) == minor)) {
++ (MAJOR(statbuf.st_rdev) == major) &&
++ (MINOR(statbuf.st_rdev) == minor)) {
+ LOG_DBG(" %s: YES", dep->d_name);
+ if (closedir(dp))
+ LOG_DBG("Unable to closedir /dev/mapper %s",
+@@ -1451,7 +1459,7 @@ static int disk_status_info(struct log_c *lc, struct dm_ulog_request *rq)
+ }
+
+ r = sprintf(data, "3 clustered-disk %d:%d %c",
+- major(statbuf.st_rdev), minor(statbuf.st_rdev),
++ MAJOR(statbuf.st_rdev), MINOR(statbuf.st_rdev),
+ (lc->log_dev_failed) ? 'D' : 'A');
+ if (r < 0)
+ return r;
+@@ -1514,7 +1522,7 @@ static int disk_status_table(struct log_c *lc, struct dm_ulog_request *rq)
+ }
+
+ r = sprintf(data, "clustered-disk %d:%d %u %s%s ",
+- major(statbuf.st_rdev), minor(statbuf.st_rdev),
++ MAJOR(statbuf.st_rdev), MINOR(statbuf.st_rdev),
+ lc->region_size,
+ (lc->sync == DEFAULTSYNC) ? "" :
+ (lc->sync == NOSYNC) ? "nosync " : "sync ",
+diff --git a/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c b/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c
+index 7b060ed..4098203 100644
+--- a/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c
++++ b/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c
+@@ -20,6 +20,14 @@
+ #include <stdarg.h>
+ #include <pthread.h>
+
++#ifdef __linux__
++# include "kdev_t.h"
++#else
++# define MAJOR(x) major((x))
++# define MINOR(x) minor((x))
++# define MKDEV(x,y) makedev((x),(y))
++#endif
++
+ /* First warning when snapshot is 80% full. */
+ #define WARNING_THRESH (DM_PERCENT_1 * 80)
+ /* Run a check every 5%. */
+@@ -148,8 +156,8 @@ static void _umount(const char *device, int major, int minor)
+ continue; /* can't stat, skip this one */
+
+ if (S_ISBLK(st.st_mode) &&
+- major(st.st_rdev) == major &&
+- minor(st.st_rdev) == minor) {
++ MAJOR(st.st_rdev) == major &&
++ MINOR(st.st_rdev) == minor) {
+ log_error("Unmounting invalid snapshot %s from %s.", device, words[1]);
+ if (!_run(UMOUNT_COMMAND, "-fl", words[1], NULL))
+ log_error("Failed to umount snapshot %s from %s: %s.",
+diff --git a/lib/filters/filter-sysfs.c b/lib/filters/filter-sysfs.c
+index 3115f86..5f76e8b 100644
+--- a/lib/filters/filter-sysfs.c
++++ b/lib/filters/filter-sysfs.c
+@@ -19,6 +19,8 @@
+
+ #include <dirent.h>
+
++#include "kdev_t.h"
++
+ static int _locate_sysfs_blocks(const char *sysfs_dir, char *path, size_t len,
+ unsigned *sysfs_depth)
+ {
+@@ -120,7 +122,7 @@ static struct dev_set *_dev_set_create(struct dm_pool *mem,
+
+ static unsigned _hash_dev(dev_t dev)
+ {
+- return (major(dev) ^ minor(dev)) & (SET_BUCKETS - 1);
++ return (MAJOR(dev) ^ MINOR(dev)) & (SET_BUCKETS - 1);
+ }
+
+ /*
+@@ -171,7 +173,7 @@ static int _parse_dev(const char *file, FILE *fp, dev_t *result)
+ return 0;
+ }
+
+- *result = makedev(major, minor);
++ *result = MKDEV(major, minor);
+ return 1;
+ }
+
+--
+2.7.4
+
diff --git a/sys-fs/lvm2/lvm2-2.02.145-r2.ebuild b/sys-fs/lvm2/lvm2-2.02.145-r2.ebuild
new file mode 100644
index 00000000000..70a95fcb0f7
--- /dev/null
+++ b/sys-fs/lvm2/lvm2-2.02.145-r2.ebuild
@@ -0,0 +1,254 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools eutils linux-info multilib systemd toolchain-funcs udev flag-o-matic
+
+DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
+HOMEPAGE="https://sourceware.org/lvm2/"
+SRC_URI="ftp://sourceware.org/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
+ ftp://sourceware.org/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-linux ~x86-linux"
+IUSE="readline static static-libs systemd lvm1 lvm2create_initrd selinux +udev +thin device-mapper-only"
+REQUIRED_USE="device-mapper-only? ( !lvm1 !lvm2create_initrd !thin )
+ systemd? ( udev )"
+
+DEPEND_COMMON="
+ readline? ( sys-libs/readline:0= )
+ systemd? ( >=sys-apps/systemd-205:0= )
+ udev? ( >=virtual/libudev-208:=[static-libs(-)?] )"
+# /run is now required for locking during early boot. /var cannot be assumed to
+# be available -- thus, pull in recent enough baselayout for /run.
+# This version of LVM is incompatible with cryptsetup <1.1.2.
+RDEPEND="${DEPEND_COMMON}
+ >=sys-apps/baselayout-2.2
+ !<sys-apps/openrc-0.11
+ !<sys-fs/cryptsetup-1.1.2
+ !!sys-fs/lvm-user
+ >=sys-apps/util-linux-2.16
+ lvm2create_initrd? ( sys-apps/makedev )
+ thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
+# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
+# USE 'static' currently only works with eudev, bug 520450
+DEPEND="${DEPEND_COMMON}
+ virtual/pkgconfig
+ >=sys-devel/binutils-2.20.1-r1
+ sys-devel/autoconf-archive
+ static? (
+ selinux? ( sys-libs/libselinux[static-libs] )
+ udev? ( >=sys-fs/eudev-3.1.2[static-libs] )
+ >=sys-apps/util-linux-2.16[static-libs]
+ )"
+
+S=${WORKDIR}/${PN/lvm/LVM}.${PV}
+
+PATCHES=(
+ # Gentoo specific modification(s):
+ "${FILESDIR}"/${PN}-2.02.129-example.conf.in.patch
+
+ # For upstream -- review and forward:
+ "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
+ "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
+ "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
+ "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
+ "${FILESDIR}"/${PN}-2.02.70-asneeded.patch # -Wl,--as-needed
+ "${FILESDIR}"/${PN}-2.02.139-dynamic-static-ldflags.patch #332905
+ "${FILESDIR}"/${PN}-2.02.129-static-pkgconfig-libs.patch #370217, #439414 + blkid
+ "${FILESDIR}"/${PN}-2.02.130-pthread-pkgconfig.patch #492450
+ "${FILESDIR}"/${PN}-2.02.145-mkdev.patch #580062
+)
+
+pkg_setup() {
+ local CONFIG_CHECK="~SYSVIPC"
+
+ if use udev; then
+ local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
+ if linux_config_exists; then
+ local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
+ if [ -n "${uevent_helper_path}" ] && [ "${uevent_helper_path}" != '""' ]; then
+ ewarn "It's recommended to set an empty value to the following kernel config option:"
+ ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
+ fi
+ fi
+ fi
+
+ check_extra_config
+
+ # 1. Genkernel no longer copies /sbin/lvm blindly.
+ if use static; then
+ elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
+ elog "their static versions. If you need the static binaries,"
+ elog "you must append .static to the filename!"
+ fi
+}
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e "1iAR = $(tc-getAR)" \
+ -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
+ make.tmpl.in || die #444082
+
+ sed -i -e '/FLAG/s:-O2::' configure{.in,} || die #480212
+
+ if use udev && ! use device-mapper-only; then
+ sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196
+ elog "Notice that \"use_lvmetad\" setting is enabled with USE=\"udev\" in"
+ elog "/etc/lvm/lvm.conf, which will require restart of udev, lvm, and lvmetad"
+ elog "if it was previously disabled."
+ fi
+
+ sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
+
+ # Without thin-privision-tools, there is nothing to install for target install_man7:
+ use thin || { sed -i -e '/^install_lvm2/s:install_man7::' man/Makefile.in || die; }
+
+ eautoreconf
+}
+
+src_configure() {
+ filter-flags -flto
+ local myconf=()
+ local buildmode
+
+ myconf+=( $(use_enable !device-mapper-only dmeventd) )
+ myconf+=( $(use_enable !device-mapper-only cmdlib) )
+ myconf+=( $(use_enable !device-mapper-only applib) )
+ myconf+=( $(use_enable !device-mapper-only fsadm) )
+ myconf+=( $(use_enable !device-mapper-only lvmetad) )
+ use device-mapper-only && myconf+=( --disable-udev-systemd-background-jobs )
+
+ # Most of this package does weird stuff.
+ # The build options are tristate, and --without is NOT supported
+ # options: 'none', 'internal', 'shared'
+ if use static; then
+ buildmode="internal"
+ # This only causes the .static versions to become available
+ myconf+=( --enable-static_link )
+ else
+ buildmode="shared"
+ fi
+ dmbuildmode=$(use !device-mapper-only && echo internal || echo none)
+
+ # dmeventd requires mirrors to be internal, and snapshot available
+ # so we cannot disable them
+ myconf+=( --with-mirrors=${dmbuildmode} )
+ myconf+=( --with-snapshots=${dmbuildmode} )
+ if use thin; then
+ myconf+=( --with-thin=internal --with-cache=internal )
+ local texec
+ for texec in check dump repair restore; do
+ myconf+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
+ myconf+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
+ done
+ else
+ myconf+=( --with-thin=none --with-cache=none )
+ fi
+
+ if use lvm1; then
+ myconf+=( --with-lvm1=${buildmode} )
+ else
+ myconf+=( --with-lvm1=none )
+ fi
+
+ # disable O_DIRECT support on hppa, breaks pv detection (#99532)
+ use hppa && myconf+=( --disable-o_direct )
+
+ myconf+=( --with-clvmd=none --with-cluster=none )
+
+ econf \
+ $(use_enable readline) \
+ $(use_enable selinux) \
+ --enable-pkgconfig \
+ --with-confdir="${EPREFIX}"/etc \
+ --exec-prefix="${EPREFIX}" \
+ --sbindir="${EPREFIX}/sbin" \
+ --with-staticdir="${EPREFIX}"/sbin \
+ --libdir="${EPREFIX}/$(get_libdir)" \
+ --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)" \
+ --with-default-dm-run-dir=/run \
+ --with-default-run-dir=/run/lvm \
+ --with-default-locking-dir=/run/lock/lvm \
+ --with-default-pid-dir=/run \
+ $(use_enable udev udev_rules) \
+ $(use_enable udev udev_sync) \
+ $(use_with udev udevdir "$(get_udevdir)"/rules.d) \
+ $(use_enable systemd udev-systemd-background-jobs) \
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \
+ ${myconf[@]} \
+ CLDFLAGS="${LDFLAGS}"
+}
+
+src_compile() {
+ pushd include >/dev/null
+ emake
+ popd >/dev/null
+
+ if use device-mapper-only ; then
+ emake device-mapper
+ else
+ emake
+ emake CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
+ fi
+}
+
+src_install() {
+ local inst
+ INSTALL_TARGETS="install install_tmpfiles_configuration"
+ # install systemd related files only when requested, bug #522430
+ use systemd && INSTALL_TARGETS="${INSTALL_TARGETS} install_systemd_units install_systemd_generators"
+ use device-mapper-only && INSTALL_TARGETS="install_device-mapper"
+ for inst in ${INSTALL_TARGETS}; do
+ emake DESTDIR="${D}" ${inst}
+ done
+
+ newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
+ newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
+
+ if use !device-mapper-only ; then
+ newinitd "${FILESDIR}"/dmeventd.initd-2.02.67-r1 dmeventd
+ newinitd "${FILESDIR}"/lvm.rc-2.02.116-r6 lvm
+ newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm
+
+ newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
+ newinitd "${FILESDIR}"/lvmetad.initd-2.02.116-r3 lvmetad
+ fi
+
+ if use static-libs; then
+ dolib.a libdm/ioctl/libdevmapper.a
+ if use !device-mapper-only ; then
+ dolib.a libdaemon/client/libdaemonclient.a #462908
+ dolib.a daemons/dmeventd/libdevmapper-event.a
+ fi
+ else
+ rm -f "${ED}"usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
+ fi
+
+ if use lvm2create_initrd; then
+ dosbin scripts/lvm2create_initrd/lvm2create_initrd
+ doman scripts/lvm2create_initrd/lvm2create_initrd.8
+ newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
+ fi
+
+ insinto /etc
+ doins "${FILESDIR}"/dmtab
+
+ dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
+}
+
+pkg_postinst() {
+ ewarn "Make sure the \"lvm\" init script is in the runlevels:"
+ ewarn "# rc-update add lvm boot"
+ ewarn
+ ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
+ ewarn "to enable lvm autoactivation and metadata caching."
+}
+
+src_test() {
+ einfo "Tests are disabled because of device-node mucking, if you want to"
+ einfo "run tests, compile the package and see ${S}/tests"
+}
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2020-03-26 20:24 Lars Wendler
0 siblings, 0 replies; 29+ messages in thread
From: Lars Wendler @ 2020-03-26 20:24 UTC (permalink / raw
To: gentoo-commits
commit: 9dc859090c6d45ef63d059138984aca4295f06b6
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 26 20:23:50 2020 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Thu Mar 26 20:24:02 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9dc85909
sys-fs/lvm2: Removed old
Package-Manager: Portage-2.3.96, Repoman-2.3.22
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
sys-fs/lvm2/Manifest | 2 -
sys-fs/lvm2/files/dmeventd.initd-2.02.67-r1 | 25 --
sys-fs/lvm2/files/lvm.confd-2.02.28-r2 | 5 -
sys-fs/lvm2/files/lvm.rc-2.02.105-r2 | 96 --------
.../files/lvm2-2.02.106-pthread-pkgconfig.patch | 32 ---
.../lvm2/files/lvm2-2.02.108-example.conf.in.patch | 50 ----
.../lvm2-2.02.108-static-pkgconfig-libs.patch | 104 ---------
.../lvm2/files/lvm2-2.02.129-example.conf.in.patch | 52 -----
.../lvm2-2.02.129-static-pkgconfig-libs.patch | 102 ---------
.../files/lvm2-2.02.130-pthread-pkgconfig.patch | 32 ---
.../lvm2-2.02.139-dynamic-static-ldflags.patch | 63 -----
sys-fs/lvm2/files/lvm2-2.02.145-mkdev.patch | 127 -----------
sys-fs/lvm2/files/lvm2-2.02.70-asneeded.patch | 15 --
sys-fs/lvm2/files/lvmetad.initd-2.02.105-r2 | 12 -
sys-fs/lvm2/lvm2-2.02.116.ebuild | 243 --------------------
sys-fs/lvm2/lvm2-2.02.145-r2.ebuild | 254 ---------------------
sys-fs/lvm2/metadata.xml | 1 -
17 files changed, 1215 deletions(-)
diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest
index d3185d0649c..70cf42f7af5 100644
--- a/sys-fs/lvm2/Manifest
+++ b/sys-fs/lvm2/Manifest
@@ -1,5 +1,3 @@
-DIST LVM2.2.02.116.tgz 1538340 BLAKE2B 718261b60626f2eca5ba13011646bf551523ed8e59aaceceb9097221c000268b7533ac43151ff1d9229911d87e764fbdb29ffa1d305f2aae99220a68e301559a SHA512 992541339637d597257850b4ff7f5348fb7cdcccf806ac8d986a3be1ad1edc5f6bfaedeed5128690c541d1a485cdc75742e90a766363c39867901003518fb84d
-DIST LVM2.2.02.145.tgz 1986370 BLAKE2B 0c9e5efae17f26ff86152cecbf0b11a74e85007b2fa9491f44dec03ac8c11375bacf6685213b4be19037c8fbf70e13549516716ecf8fa262919a44625e6aab34 SHA512 84e28b3efc940837ea9da70fce620744aea0945ba29383b76ad7bcd4b5259b897c714162a8e8b7cfe26ae736a3ad2eca633a3e0df4d6280a32b28bd4cf472d27
DIST LVM2.2.02.184.tgz 2383698 BLAKE2B b6e308d76d541b9461dfcc6e82db256a175ccdabfae9c9d57d84eabd0d5ea50e3e09954b34741903e027412c2c26f72a5005fe934261576337a810738139deb8 SHA512 9db74f675e7c58f663a39afb79b6f33a33ad2cfbda63e9783ef5027f33977b4a1262a2e6754aa67c586eed083ee119a2e837c32a7746dcc53f13877c9d65c390
DIST LVM2.2.02.186.tgz 2389759 BLAKE2B e094c0135d455386ea5789208899d4dbdd5e78bebf52e49ab5587f881fbc2b94c6accecacf1b4ed182b0c87046402c00a47a1b724795a94fe3ec998b580a77ae SHA512 06a1c00142ee41d8a576a5e06a5beae70baced3020e753ce3b612355cc4d9e33be4acf58569d49436c4ee1118d288d884c7301b7d886074eaf9f2fa6b0248c03
DIST LVM2.2.02.187.tgz 2405544 BLAKE2B be804be3c64927a8848e8ea8de228fb563b6f8c22628b785aabb33fc993629e5370788216bd814246aeb3a5546fd5446383ce24342e716579887556edf2bbed2 SHA512 3ce56f0c0d2e7dbcdae5be263199f73ee5c4c052599d53cde9b16500a326d0340893344f4671839be06b5b4225d592175d01c9974db14f2dc220d6e9a1d47e91
diff --git a/sys-fs/lvm2/files/dmeventd.initd-2.02.67-r1 b/sys-fs/lvm2/files/dmeventd.initd-2.02.67-r1
deleted file mode 100644
index f77996caa57..00000000000
--- a/sys-fs/lvm2/files/dmeventd.initd-2.02.67-r1
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-PIDFILE=/run/dmeventd.pid
-BIN=/sbin/dmeventd
-
-depend() {
- # As of .67-r1, we call ALL lvm start/stop scripts with --sysinit, that
- # means dmeventd is NOT notified, as it cannot be safely running
- after lvm device-mapper
-}
-
-start() {
- ebegin "Starting dmeventd"
- start-stop-daemon --start --exec $BIN --pidfile $PIDFILE
- eend $?
-}
-
-stop() {
- ebegin "Stopping dmeventd"
- start-stop-daemon --stop --exec $BIN --pidfile $PIDFILE
- eend $?
-}
-
diff --git a/sys-fs/lvm2/files/lvm.confd-2.02.28-r2 b/sys-fs/lvm2/files/lvm.confd-2.02.28-r2
deleted file mode 100644
index 2fbd8668c37..00000000000
--- a/sys-fs/lvm2/files/lvm.confd-2.02.28-r2
+++ /dev/null
@@ -1,5 +0,0 @@
-# LVM should normally only be started after mdraid is available
-# this is because LVM physical volumes are very often MD devices.
-RC_AFTER="mdraid"
-
-# vim: ft=gentoo-conf-d
diff --git a/sys-fs/lvm2/files/lvm.rc-2.02.105-r2 b/sys-fs/lvm2/files/lvm.rc-2.02.105-r2
deleted file mode 100644
index 937db047d19..00000000000
--- a/sys-fs/lvm2/files/lvm.rc-2.02.105-r2
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-depend() {
- before checkfs fsck
- after modules device-mapper
- need lvmetad sysfs
-}
-
-config='global { locking_dir = "/run/lock/lvm" }'
-
-dm_in_proc() {
- local retval=0
- for x in devices misc ; do
- grep -qs 'device-mapper' /proc/${x}
- retval=$((${retval} + $?))
- done
- return ${retval}
-}
-
-start() {
- # LVM support for /usr, /home, /opt ....
- # This should be done *before* checking local
- # volumes, or they never get checked.
-
- # NOTE: Add needed modules for LVM or RAID, etc
- # to /etc/modules.autoload if needed
- for lvm_path in /bin/lvm /sbin/lvm ; do
- [ -x "$lvm_path" ] && break
- done
- if [ ! -x "$lvm_path" ]; then
- eerror "Cannot find lvm binary in /sbin or /bin!"
- return 1
- fi
- if [ -z "${CDBOOT}" ] ; then
- if [ -e /proc/modules ] && ! dm_in_proc ; then
- modprobe dm-mod 2>/dev/null
- fi
- if [ -d /proc/lvm ] || dm_in_proc ; then
- ebegin "Setting up the Logical Volume Manager"
- #still echo stderr for debugging
- lvm_commands="#! ${lvm_path} --config '${config}'\n"
- # Extra PV find pass because some devices might not have been available until very recently
- lvm_commands="${lvm_commands}pvscan\n"
- # Now make the nodes
- lvm_commands="${lvm_commands}vgscan --mknodes\n"
- # And turn them on!
- lvm_commands="${lvm_commands}vgchange --sysinit -a ly\n"
- # Order of this is important, have to work around dash and LVM readline
- printf "%b\n" "${lvm_commands}" | $lvm_path /proc/self/fd/0 --config "${config}" >/dev/null
- eend $? "Failed to setup the LVM"
- fi
- fi
-}
-
-stop() {
- for lvm_path in /bin/lvm /sbin/lvm ; do
- [ -x "$lvm_path" ] && break
- done
- if [ ! -x "$lvm_path" ]; then
- eerror "Cannot find lvm binary in /sbin or /bin!"
- return 1
- fi
-# Stop LVM2
-if [ -x /sbin/vgs ] && \
- [ -x /sbin/vgchange ] && \
- [ -x /sbin/lvchange ] && \
- [ -f /etc/lvmtab -o -d /etc/lvm ] && \
- [ -d /proc/lvm -o "`grep device-mapper /proc/misc 2>/dev/null`" ]
-then
- einfo "Shutting down the Logical Volume Manager"
-
-
- VGS=$($lvm_path vgs --config "${config}" -o vg_name --noheadings --nosuffix --rows 2> /dev/null)
-
- if [ "$VGS" ]
- then
- ebegin " Shutting Down LVs & VGs"
- #still echo stderr for debugging
- lvm_commands="#! ${lvm_path} --config '${config}'\n"
- # Extra PV find pass because some devices might not have been available until very recently
- lvm_commands="${lvm_commands}lvchange --sysinit -a ln ${VGS}\n"
- # Now make the nodes
- lvm_commands="${lvm_commands}vgchange --sysinit -a ln ${VGS}\n"
- # Order of this is important, have to work around dash and LVM readline
- printf "%b\n" "${lvm_commands}" | $lvm_path /proc/self/fd/0 --config "${config}" >/dev/null
- eend $? "Failed (possibly some LVs still needed for /usr or root)"
- fi
-
- einfo "Finished shutting down the Logical Volume Manager"
- return 0
-fi
-}
-
-# vim:ts=4
diff --git a/sys-fs/lvm2/files/lvm2-2.02.106-pthread-pkgconfig.patch b/sys-fs/lvm2/files/lvm2-2.02.106-pthread-pkgconfig.patch
deleted file mode 100644
index 594d6061725..00000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.106-pthread-pkgconfig.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Make sure that libdm usage always brings in pthread libraries, both in
-pkgconfig and during manual build.
-
---- tools/Makefile.in
-+++ tools/Makefile.in
-@@ -87,6 +87,7 @@
- INSTALL_LVM_TARGETS += install_tools_static
- INSTALL_DMSETUP_TARGETS += install_dmsetup_static
- INSTALL_CMDLIB_TARGETS += install_cmdlib_static
-+ STATIC_LIBS += @PTHREAD_LIBS@
- endif
-
- LVMLIBS = $(LVMINTERNAL_LIBS)
-@@ -118,6 +119,10 @@
-
- include $(top_builddir)/make.tmpl
-
-+ifeq ("@STATIC_LINK@", "yes")
-+ STATIC_LIBS += @PTHREAD_LIBS@
-+endif
-+
- device-mapper: $(TARGETS_DM)
-
- CFLAGS_dmsetup.o += $(UDEV_CFLAGS) $(EXTRA_EXEC_CFLAGS)
---- libdm/libdevmapper.pc.in
-+++ libdm/libdevmapper.pc.in
-@@ -8,4 +8,5 @@
- Version: @DM_LIB_PATCHLEVEL@
- Cflags: -I${includedir}
- Libs: -L${libdir} -ldevmapper
-+Libs.private: -L${libdir} @PTHREAD_LIBS@
- Requires.private: @SELINUX_PC@ @UDEV_PC@
diff --git a/sys-fs/lvm2/files/lvm2-2.02.108-example.conf.in.patch b/sys-fs/lvm2/files/lvm2-2.02.108-example.conf.in.patch
deleted file mode 100644
index af5a5afe258..00000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.108-example.conf.in.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-Maintainer note: Forward ported without editing from lvm2-2.02.99-example.conf.in.patch to apply cleanly.
-
---- conf/example.conf.in
-+++ conf/example.conf.in
-@@ -105,6 +105,10 @@
- # By default we accept every block device:
- # filter = [ "a/.*/" ]
-
-+ # Gentoo: we exclude /dev/nbd by default, because it makes a lot of kernel
-+ # noise when you probed while not available.
-+ filter = [ "r|/dev/nbd.*|", "a/.*/" ]
-+
- # Exclude the cdrom drive
- # filter = [ "r|/dev/cdrom|" ]
-
-@@ -522,7 +526,8 @@
- # e.g. vgscan.lvm1 and they will stop working after you start using
- # the new lvm2 on-disk metadata format.
- # The default value is set when the tools are built.
-- # fallback_to_lvm1 = 0
-+ # Gentoo: the LVM tools are a seperate package.
-+ fallback_to_lvm1 = 0
-
- # The default metadata format that commands should use - "lvm1" or "lvm2".
- # The command line override is -M1 or -M2.
-@@ -1182,12 +1187,13 @@
-
- # Metadata settings
- #
--# metadata {
-+metadata {
- # Default number of copies of metadata to hold on each PV. 0, 1 or 2.
- # You might want to override it from the command line with 0
- # when running pvcreate on new PVs which are to be added to large VGs.
-
-- # pvmetadatacopies = 1
-+ # Gentoo: enable for data safety, but PV resize is then disabled.
-+ # pvmetadatacopies = 2
-
- # Default number of copies of metadata to maintain for each VG.
- # If set to a non-zero value, LVM automatically chooses which of
-@@ -1222,7 +1228,7 @@
- # the supplied toolset to make changes (e.g. vgcfgrestore).
-
- # dirs = [ "/etc/lvm/metadata", "/mnt/disk2/lvm/metadata2" ]
--#}
-+}
-
- # Event daemon
- #
diff --git a/sys-fs/lvm2/files/lvm2-2.02.108-static-pkgconfig-libs.patch b/sys-fs/lvm2/files/lvm2-2.02.108-static-pkgconfig-libs.patch
deleted file mode 100644
index 3ab699868a5..00000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.108-static-pkgconfig-libs.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-Maintainer note: Forward ported without editing from lvm2-2.02.107-static-pkgconfig-libs.patch to apply cleanly.
-
---- configure.in
-+++ configure.in
-@@ -1067,6 +1067,7 @@
- fi])
- if test "$BLKID_WIPING" = yes; then
- BLKID_PC="blkid"
-+ BLKID_STATIC_LIBS=`$PKG_CONFIG --static --libs $BLKID_PC`
- AC_DEFINE([BLKID_WIPING_SUPPORT], 1, [Define to 1 to use libblkid detection of signatures when wiping.])
- fi
- fi
-@@ -1092,6 +1093,7 @@
- if test "$UDEV_SYNC" = yes; then
- pkg_config_init
- PKG_CHECK_MODULES(UDEV, libudev >= 143, [UDEV_PC="libudev"])
-+ UDEV_STATIC_LIBS=`$PKG_CONFIG --static --libs libudev`
- AC_DEFINE([UDEV_SYNC_SUPPORT], 1, [Define to 1 to enable synchronisation with udev processing.])
- fi
-
-@@ -1312,19 +1314,32 @@
- if test "$SELINUX" = yes; then
- AC_CHECK_LIB([sepol], [sepol_check_context], [
- AC_DEFINE([HAVE_SEPOL], 1, [Define to 1 if sepol_check_context is available.])
-- SELINUX_LIBS="-lsepol"])
-+ SEPOL_LIBS="-lsepol"])
-+
-+ dnl -- init pkgconfig if required
-+ if test x$PKGCONFIG_INIT != x1; then
-+ pkg_config_init
-+ fi
-+ PKG_CHECK_MODULES(SELINUX, libselinux, [
-+ SELINUX_PC="libselinux"
-+ SELINUX_STATIC_LIBS=`$PKG_CONFIG --static --libs libselinux`
-+ SELINUX_LIBS="$SELINUX_LIBS $SEPOL_LIBS"
-+ AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-+ ],[
-+ dnl -- old non-pkgconfig method, is buggy with static builds
-
- AC_CHECK_LIB([selinux], [is_selinux_enabled], [
- AC_CHECK_HEADERS([selinux/selinux.h],, hard_bailout)
- AC_CHECK_HEADERS([selinux/label.h])
- AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-- SELINUX_LIBS="-lselinux $SELINUX_LIBS"
-+ SELINUX_LIBS="-lselinux $SEPOL_LIBS"
- SELINUX_PC="libselinux"
- HAVE_SELINUX=yes ], [
- AC_MSG_WARN(Disabling selinux)
- SELINUX_LIBS=
- SELINUX_PC=
- HAVE_SELINUX=no ])
-+ ])
- fi
-
- ################################################################################
-@@ -1626,6 +1641,7 @@
- ################################################################################
- AC_SUBST(APPLIB)
- AC_SUBST(AWK)
-+AC_SUBST(BLKID_STATIC_LIBS)
- AC_SUBST(BLKID_PC)
- AC_SUBST(BLKID_WIPING)
- AC_SUBST(BUILD_CMIRRORD)
-@@ -1721,6 +1737,7 @@
- AC_SUBST(SALCK_CFLAGS)
- AC_SUBST(SALCK_LIBS)
- AC_SUBST(SELINUX_LIBS)
-+AC_SUBST(SELINUX_STATIC_LIBS)
- AC_SUBST(SELINUX_PC)
- AC_SUBST(SNAPSHOTS)
- AC_SUBST(STATICDIR)
-@@ -1735,6 +1752,7 @@
- AC_SUBST(CACHE_DUMP_CMD)
- AC_SUBST(CACHE_REPAIR_CMD)
- AC_SUBST(CACHE_RESTORE_CMD)
-+AC_SUBST(UDEV_STATIC_LIBS)
- AC_SUBST(UDEV_PC)
- AC_SUBST(UDEV_RULES)
- AC_SUBST(UDEV_SYNC)
---- make.tmpl.in
-+++ make.tmpl.in
-@@ -43,7 +43,7 @@
-
- LIBS = @LIBS@
- # Extra libraries always linked with static binaries
--STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS)
-+STATIC_LIBS = $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS)
- DEFS += @DEFS@
- # FIXME set this only where it's needed, not globally?
- CFLAGS += @CFLAGS@
-@@ -57,10 +57,13 @@
- PTHREAD_LIBS = @PTHREAD_LIBS@
- READLINE_LIBS = @READLINE_LIBS@
- SELINUX_LIBS = @SELINUX_LIBS@
-+SELINUX_STATIC_LIBS = @SELINUX_STATIC_LIBS@
- UDEV_CFLAGS = @UDEV_CFLAGS@
- UDEV_LIBS = @UDEV_LIBS@
-+UDEV_STATIC_LIBS = @UDEV_STATIC_LIBS@
- BLKID_CFLAGS = @BLKID_CFLAGS@
- BLKID_LIBS = @BLKID_LIBS@
-+BLKID_STATIC_LIBS = @BLKID_STATIC_LIBS@
- TESTING = @TESTING@
-
- # Setup directory variables
diff --git a/sys-fs/lvm2/files/lvm2-2.02.129-example.conf.in.patch b/sys-fs/lvm2/files/lvm2-2.02.129-example.conf.in.patch
deleted file mode 100644
index 076e06080ca..00000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.129-example.conf.in.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-Maintainer note: Forward ported without editing from lvm2-2.02.108-example.conf.in.patch to apply cleanly.
-
---- LVM2.2.02.129/conf/example.conf.in
-+++ LVM2.2.02.129/conf/example.conf.in
-@@ -128,6 +128,9 @@
- # Example
- # Accept every block device:
- # filter = [ "a|.*/|" ]
-+ # Gentoo: we exclude /dev/nbd by default, because it makes a lot of kernel
-+ # noise when you probed while not available.
-+ filter = [ "r|/dev/nbd.*|", "a/.*/" ]
- # Reject the cdrom drive:
- # filter = [ "r|/dev/cdrom|" ]
- # Work with just loopback devices, e.g. for testing:
-@@ -620,7 +623,8 @@
- # tools need to be installed with .lvm1 suffices, e.g. vgscan.lvm1.
- # They will stop working once the lvm2 on-disk metadata format is used.
- # This configuration option has an automatic default value.
-- # fallback_to_lvm1 = @DEFAULT_FALLBACK_TO_LVM1@
-+ # Gentoo: the LVM tools are a seperate package.
-+ fallback_to_lvm1 = 0
-
- # Configuration option global/format.
- # The default metadata format that commands should use.
-@@ -1413,7 +1417,7 @@
-
- # Configuration section metadata.
- # This configuration section has an automatic default value.
--# metadata {
-+metadata {
-
- # Configuration option metadata/pvmetadatacopies.
- # Number of copies of metadata to store on each PV.
-@@ -1431,7 +1435,8 @@
- #
- # This configuration option is advanced.
- # This configuration option has an automatic default value.
-- # pvmetadatacopies = 1
-+ # Gentoo: enable for data safety, but PV resize is then disabled.
-+ # pvmetadatacopies = 2
-
- # Configuration option metadata/vgmetadatacopies.
- # Number of copies of metadata to maintain for each VG.
-@@ -1486,7 +1491,7 @@
- #
- # This configuration option is advanced.
- # This configuration option does not have a default value defined.
--# }
-+}
-
- # Configuration section report.
- # LVM report command output formatting.
diff --git a/sys-fs/lvm2/files/lvm2-2.02.129-static-pkgconfig-libs.patch b/sys-fs/lvm2/files/lvm2-2.02.129-static-pkgconfig-libs.patch
deleted file mode 100644
index 239694523b3..00000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.129-static-pkgconfig-libs.patch
+++ /dev/null
@@ -1,102 +0,0 @@
---- LVM2.2.02.129/configure.in
-+++ LVM2.2.02.129/configure.in
-@@ -1287,6 +1287,7 @@
- fi])
- if test "$BLKID_WIPING" = yes; then
- BLKID_PC="blkid"
-+ BLKID_STATIC_LIBS=`$PKG_CONFIG --static --libs $BLKID_PC`
- DEFAULT_USE_BLKID_WIPING=1
- AC_DEFINE([BLKID_WIPING_SUPPORT], 1, [Define to 1 to use libblkid detection of signatures when wiping.])
- else
-@@ -1332,6 +1333,7 @@
- if test "$UDEV_SYNC" = yes; then
- pkg_config_init
- PKG_CHECK_MODULES(UDEV, libudev >= 143, [UDEV_PC="libudev"])
-+ UDEV_STATIC_LIBS=`$PKG_CONFIG --static --libs libudev`
- AC_DEFINE([UDEV_SYNC_SUPPORT], 1, [Define to 1 to enable synchronisation with udev processing.])
- fi
-
-@@ -1558,19 +1560,32 @@
- if test "$SELINUX" = yes; then
- AC_CHECK_LIB([sepol], [sepol_check_context], [
- AC_DEFINE([HAVE_SEPOL], 1, [Define to 1 if sepol_check_context is available.])
-- SELINUX_LIBS="-lsepol"])
-+ SEPOL_LIBS="-lsepol"])
-+
-+ dnl -- init pkgconfig if required
-+ if test x$PKGCONFIG_INIT != x1; then
-+ pkg_config_init
-+ fi
-+ PKG_CHECK_MODULES(SELINUX, libselinux, [
-+ SELINUX_PC="libselinux"
-+ SELINUX_STATIC_LIBS=`$PKG_CONFIG --static --libs libselinux`
-+ SELINUX_LIBS="$SELINUX_LIBS $SEPOL_LIBS"
-+ AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-+ ],[
-+ dnl -- old non-pkgconfig method, is buggy with static builds
-
- AC_CHECK_LIB([selinux], [is_selinux_enabled], [
- AC_CHECK_HEADERS([selinux/selinux.h],, hard_bailout)
- AC_CHECK_HEADERS([selinux/label.h])
- AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-- SELINUX_LIBS="-lselinux $SELINUX_LIBS"
-+ SELINUX_LIBS="-lselinux $SEPOL_LIBS"
- SELINUX_PC="libselinux"
- HAVE_SELINUX=yes ], [
- AC_MSG_WARN(Disabling selinux)
- SELINUX_LIBS=
- SELINUX_PC=
- HAVE_SELINUX=no ])
-+ ])
- fi
-
- ################################################################################
-@@ -1902,6 +1917,7 @@
- ################################################################################
- AC_SUBST(APPLIB)
- AC_SUBST(AWK)
-+AC_SUBST(BLKID_STATIC_LIBS)
- AC_SUBST(BLKID_PC)
- AC_SUBST(BUILD_CMIRRORD)
- AC_SUBST(BUILD_DMEVENTD)
-@@ -2005,6 +2021,7 @@
- AC_SUBST(SALCK_CFLAGS)
- AC_SUBST(SALCK_LIBS)
- AC_SUBST(SELINUX_LIBS)
-+AC_SUBST(SELINUX_STATIC_LIBS)
- AC_SUBST(SELINUX_PC)
- AC_SUBST(SNAPSHOTS)
- AC_SUBST(STATICDIR)
-@@ -2020,6 +2037,7 @@
- AC_SUBST(CACHE_DUMP_CMD)
- AC_SUBST(CACHE_REPAIR_CMD)
- AC_SUBST(CACHE_RESTORE_CMD)
-+AC_SUBST(UDEV_STATIC_LIBS)
- AC_SUBST(UDEV_PC)
- AC_SUBST(UDEV_RULES)
- AC_SUBST(UDEV_SYNC)
---- LVM2.2.02.129/make.tmpl.in
-+++ LVM2.2.02.129/make.tmpl.in
-@@ -43,7 +43,7 @@
-
- LIBS = @LIBS@
- # Extra libraries always linked with static binaries
--STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS)
-+STATIC_LIBS = $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS)
- DEFS += @DEFS@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
-@@ -58,10 +58,13 @@
- PTHREAD_LIBS = @PTHREAD_LIBS@
- READLINE_LIBS = @READLINE_LIBS@
- SELINUX_LIBS = @SELINUX_LIBS@
-+SELINUX_STATIC_LIBS = @SELINUX_STATIC_LIBS@
- UDEV_CFLAGS = @UDEV_CFLAGS@
- UDEV_LIBS = @UDEV_LIBS@
-+UDEV_STATIC_LIBS = @UDEV_STATIC_LIBS@
- BLKID_CFLAGS = @BLKID_CFLAGS@
- BLKID_LIBS = @BLKID_LIBS@
-+BLKID_STATIC_LIBS = @BLKID_STATIC_LIBS@
- VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
- TESTING = @TESTING@
-
diff --git a/sys-fs/lvm2/files/lvm2-2.02.130-pthread-pkgconfig.patch b/sys-fs/lvm2/files/lvm2-2.02.130-pthread-pkgconfig.patch
deleted file mode 100644
index 11db632e2e7..00000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.130-pthread-pkgconfig.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Make sure that libdm usage always brings in pthread libraries, both in
-pkgconfig and during manual build.
-
---- LVM2.2.02.130/libdm/libdevmapper.pc.in
-+++ LVM2.2.02.130/libdm/libdevmapper.pc.in
-@@ -9,4 +9,4 @@
- Cflags: -I${includedir}
- Libs: -L${libdir} -ldevmapper
- Requires.private: @SELINUX_PC@ @UDEV_PC@
--Libs.private: -lm @RT_LIB@
-+Libs.private: -lm @RT_LIB@ @PTHREAD_LIBS@
---- LVM2.2.02.130/tools/Makefile.in
-+++ LVM2.2.02.130/tools/Makefile.in
-@@ -90,6 +90,7 @@
- INSTALL_LVM_TARGETS += install_tools_static
- INSTALL_DMSETUP_TARGETS += install_dmsetup_static
- INSTALL_CMDLIB_TARGETS += install_cmdlib_static
-+ STATIC_LIBS += @PTHREAD_LIBS@
- endif
-
- LVMLIBS = $(LVMINTERNAL_LIBS)
-@@ -120,6 +121,10 @@
-
- include $(top_builddir)/make.tmpl
-
-+ifeq ("@STATIC_LINK@", "yes")
-+ STATIC_LIBS += @PTHREAD_LIBS@
-+endif
-+
- device-mapper: $(TARGETS_DM)
-
- CFLAGS_dmsetup.o += $(UDEV_CFLAGS) $(EXTRA_EXEC_CFLAGS)
diff --git a/sys-fs/lvm2/files/lvm2-2.02.139-dynamic-static-ldflags.patch b/sys-fs/lvm2/files/lvm2-2.02.139-dynamic-static-ldflags.patch
deleted file mode 100644
index 312e546e240..00000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.139-dynamic-static-ldflags.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-diff -ur LVM2.2.02.139_O/configure.in LVM2.2.02.139/configure.in
---- LVM2.2.02.139_O/configure.in 2016-01-19 12:54:33.155187005 +0000
-+++ LVM2.2.02.139/configure.in 2016-01-19 12:56:39.487181372 +0000
-@@ -31,6 +31,7 @@
- linux*)
- CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym"
- ELDFLAGS="-Wl,--export-dynamic"
-+ STATIC_LDFLAGS="-Wl,--no-export-dynamic"
- # FIXME Generate list and use --dynamic-list=.dlopen.sym
- CLDWHOLEARCHIVE="-Wl,-whole-archive"
- CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive"
-@@ -2009,6 +2010,7 @@
- AC_SUBST(SELINUX_PC)
- AC_SUBST(SNAPSHOTS)
- AC_SUBST(STATICDIR)
-+AC_SUBST(STATIC_LDFLAGS)
- AC_SUBST(STATIC_LINK)
- AC_SUBST(TESTING)
- AC_SUBST(TESTSUITE_DATA)
-diff -ur LVM2.2.02.139_O/daemons/dmeventd/Makefile.in LVM2.2.02.139/daemons/dmeventd/Makefile.in
---- LVM2.2.02.139_O/daemons/dmeventd/Makefile.in 2016-01-19 12:54:33.278186999 +0000
-+++ LVM2.2.02.139/daemons/dmeventd/Makefile.in 2016-01-19 12:57:44.277178484 +0000
-@@ -67,7 +67,7 @@
- $(DL_LIBS) $(LVMLIBS) $(LIBS) -rdynamic
-
- dmeventd.static: $(LIB_STATIC) dmeventd.o $(interfacebuilddir)/libdevmapper.a
-- $(CC) $(CFLAGS) $(LDFLAGS) $(ELDFLAGS) -static -L. -L$(interfacebuilddir) -o $@ \
-+ $(CC) $(CFLAGS) $(LDFLAGS) $(ELDFLAGS) $(STATIC_LDFLAGS) -static -L. -L$(interfacebuilddir) -o $@ \
- dmeventd.o $(DL_LIBS) $(LVMLIBS) $(LIBS) $(STATIC_LIBS)
-
- ifeq ("@PKGCONFIG@", "yes")
-diff -ur LVM2.2.02.139_O/make.tmpl.in LVM2.2.02.139/make.tmpl.in
---- LVM2.2.02.139_O/make.tmpl.in 2016-01-19 12:54:33.529186988 +0000
-+++ LVM2.2.02.139/make.tmpl.in 2016-01-19 12:58:31.514176378 +0000
-@@ -49,6 +49,7 @@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
- LDFLAGS ?= @COPTIMISE_FLAG@ @LDFLAGS@
-+STATIC_LDFLAGS += @STATIC_LDFLAGS@
- CLDFLAGS += @CLDFLAGS@
- ELDFLAGS += @ELDFLAGS@
- LDDEPS += @LDDEPS@
-diff -ur LVM2.2.02.139_O/tools/Makefile.in LVM2.2.02.139/tools/Makefile.in
---- LVM2.2.02.139_O/tools/Makefile.in 2016-01-08 18:51:21.000000000 +0000
-+++ LVM2.2.02.139/tools/Makefile.in 2016-01-19 13:00:08.349172060 +0000
-@@ -129,7 +129,7 @@
- -o $@ dmsetup.o -ldevmapper $(LIBS)
-
- dmsetup.static: dmsetup.o $(interfacebuilddir)/libdevmapper.a
-- $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) \
-+ $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) \
- -o $@ dmsetup.o -ldevmapper $(M_LIBS) $(PTHREAD_LIBS) $(STATIC_LIBS) $(LIBS)
-
- all: device-mapper
-@@ -146,7 +146,7 @@
- endif
-
- lvm.static: $(OBJECTS) lvm-static.o $(top_builddir)/lib/liblvm-internal.a $(interfacebuilddir)/libdevmapper.a
-- $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) -o $@ \
-+ $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) -o $@ \
- $(OBJECTS) lvm-static.o $(LVMLIBS) $(STATIC_LIBS) $(LIBS)
-
- liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
diff --git a/sys-fs/lvm2/files/lvm2-2.02.145-mkdev.patch b/sys-fs/lvm2/files/lvm2-2.02.145-mkdev.patch
deleted file mode 100644
index f91dccd5c18..00000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.145-mkdev.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-https://bugs.gentoo.org/580062
-
-From 2a1d0fa8ea765604cd8274aac5aa7876f1c145c9 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Tue, 19 Apr 2016 23:53:22 -0400
-Subject: [PATCH] convert major/minor/makedev handling
-
-Most of the files in here use MAJOR/MINOR/MKDEV macros, but a few
-missed it. Update the defines in those files to match them.
----
- daemons/cmirrord/functions.c | 16 ++++++++++++----
- daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c | 12 ++++++++++--
- lib/filters/filter-sysfs.c | 6 ++++--
- 3 files changed, 26 insertions(+), 8 deletions(-)
-
-diff --git a/daemons/cmirrord/functions.c b/daemons/cmirrord/functions.c
-index e9d3c09..5b3cb38 100644
---- a/daemons/cmirrord/functions.c
-+++ b/daemons/cmirrord/functions.c
-@@ -20,6 +20,14 @@
- #include <time.h>
- #include <unistd.h>
-
-+#ifdef __linux__
-+# include "kdev_t.h"
-+#else
-+# define MAJOR(x) major((x))
-+# define MINOR(x) minor((x))
-+# define MKDEV(x,y) makedev((x),(y))
-+#endif
-+
- #define BYTE_SHIFT 3
-
- /*
-@@ -333,8 +341,8 @@ static int find_disk_path(char *major_minor_str, char *path_rtn, int *unlink_pat
- continue;
- }
- if (S_ISBLK(statbuf.st_mode) &&
-- (major(statbuf.st_rdev) == major) &&
-- (minor(statbuf.st_rdev) == minor)) {
-+ (MAJOR(statbuf.st_rdev) == major) &&
-+ (MINOR(statbuf.st_rdev) == minor)) {
- LOG_DBG(" %s: YES", dep->d_name);
- if (closedir(dp))
- LOG_DBG("Unable to closedir /dev/mapper %s",
-@@ -1451,7 +1459,7 @@ static int disk_status_info(struct log_c *lc, struct dm_ulog_request *rq)
- }
-
- r = sprintf(data, "3 clustered-disk %d:%d %c",
-- major(statbuf.st_rdev), minor(statbuf.st_rdev),
-+ MAJOR(statbuf.st_rdev), MINOR(statbuf.st_rdev),
- (lc->log_dev_failed) ? 'D' : 'A');
- if (r < 0)
- return r;
-@@ -1514,7 +1522,7 @@ static int disk_status_table(struct log_c *lc, struct dm_ulog_request *rq)
- }
-
- r = sprintf(data, "clustered-disk %d:%d %u %s%s ",
-- major(statbuf.st_rdev), minor(statbuf.st_rdev),
-+ MAJOR(statbuf.st_rdev), MINOR(statbuf.st_rdev),
- lc->region_size,
- (lc->sync == DEFAULTSYNC) ? "" :
- (lc->sync == NOSYNC) ? "nosync " : "sync ",
-diff --git a/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c b/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c
-index 7b060ed..4098203 100644
---- a/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c
-+++ b/daemons/dmeventd/plugins/snapshot/dmeventd_snapshot.c
-@@ -20,6 +20,14 @@
- #include <stdarg.h>
- #include <pthread.h>
-
-+#ifdef __linux__
-+# include "kdev_t.h"
-+#else
-+# define MAJOR(x) major((x))
-+# define MINOR(x) minor((x))
-+# define MKDEV(x,y) makedev((x),(y))
-+#endif
-+
- /* First warning when snapshot is 80% full. */
- #define WARNING_THRESH (DM_PERCENT_1 * 80)
- /* Run a check every 5%. */
-@@ -148,8 +156,8 @@ static void _umount(const char *device, int major, int minor)
- continue; /* can't stat, skip this one */
-
- if (S_ISBLK(st.st_mode) &&
-- major(st.st_rdev) == major &&
-- minor(st.st_rdev) == minor) {
-+ MAJOR(st.st_rdev) == major &&
-+ MINOR(st.st_rdev) == minor) {
- log_error("Unmounting invalid snapshot %s from %s.", device, words[1]);
- if (!_run(UMOUNT_COMMAND, "-fl", words[1], NULL))
- log_error("Failed to umount snapshot %s from %s: %s.",
-diff --git a/lib/filters/filter-sysfs.c b/lib/filters/filter-sysfs.c
-index 3115f86..5f76e8b 100644
---- a/lib/filters/filter-sysfs.c
-+++ b/lib/filters/filter-sysfs.c
-@@ -19,6 +19,8 @@
-
- #include <dirent.h>
-
-+#include "kdev_t.h"
-+
- static int _locate_sysfs_blocks(const char *sysfs_dir, char *path, size_t len,
- unsigned *sysfs_depth)
- {
-@@ -120,7 +122,7 @@ static struct dev_set *_dev_set_create(struct dm_pool *mem,
-
- static unsigned _hash_dev(dev_t dev)
- {
-- return (major(dev) ^ minor(dev)) & (SET_BUCKETS - 1);
-+ return (MAJOR(dev) ^ MINOR(dev)) & (SET_BUCKETS - 1);
- }
-
- /*
-@@ -171,7 +173,7 @@ static int _parse_dev(const char *file, FILE *fp, dev_t *result)
- return 0;
- }
-
-- *result = makedev(major, minor);
-+ *result = MKDEV(major, minor);
- return 1;
- }
-
---
-2.7.4
-
diff --git a/sys-fs/lvm2/files/lvm2-2.02.70-asneeded.patch b/sys-fs/lvm2/files/lvm2-2.02.70-asneeded.patch
deleted file mode 100644
index 1bae0db10c1..00000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.70-asneeded.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-http://bugs.gentoo.org/330255
-
-liblvm2app.so: undefined reference to `floor'
-
---- LVM2/liblvm/Makefile.in
-+++ LVM2/liblvm/Makefile.in
-@@ -39,7 +39,7 @@
-
- include $(top_builddir)/make.tmpl
-
--LIBS += $(LVMINTERNAL_LIBS) -ldevmapper
-+LIBS += $(LVMINTERNAL_LIBS) -ldevmapper -lm
-
- ifeq ("@DMEVENTD@", "yes")
- LIBS += -ldevmapper-event
diff --git a/sys-fs/lvm2/files/lvmetad.initd-2.02.105-r2 b/sys-fs/lvm2/files/lvmetad.initd-2.02.105-r2
deleted file mode 100644
index 565f49c7c42..00000000000
--- a/sys-fs/lvm2/files/lvmetad.initd-2.02.105-r2
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-pidfile="/run/lvmetad.pid"
-command="/sbin/lvmetad"
-command_args="${LVMETAD_OPTS:=-p ${pidfile}}"
-start_stop_daemon_args="--pidfile ${pidfile}"
-
-depend() {
- :
-}
diff --git a/sys-fs/lvm2/lvm2-2.02.116.ebuild b/sys-fs/lvm2/lvm2-2.02.116.ebuild
deleted file mode 100644
index 725a5c7c841..00000000000
--- a/sys-fs/lvm2/lvm2-2.02.116.ebuild
+++ /dev/null
@@ -1,243 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit autotools eutils linux-info multilib systemd toolchain-funcs udev flag-o-matic
-
-DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
-HOMEPAGE="https://sourceware.org/lvm2/"
-SRC_URI="ftp://sourceware.org/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
- ftp://sourceware.org/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="readline static static-libs systemd lvm1 lvm2create_initrd selinux +udev +thin device-mapper-only"
-REQUIRED_USE="device-mapper-only? ( !lvm1 !lvm2create_initrd !thin )
- systemd? ( udev )
- static? ( !udev !systemd )" #520450
-
-DEPEND_COMMON="
- readline? ( sys-libs/readline:0= )
- udev? ( >=virtual/libudev-208:=[static-libs(-)?] )"
-# /run is now required for locking during early boot. /var cannot be assumed to
-# be available -- thus, pull in recent enough baselayout for /run.
-# This version of LVM is incompatible with cryptsetup <1.1.2.
-RDEPEND="${DEPEND_COMMON}
- >=sys-apps/baselayout-2.2
- !<sys-apps/openrc-0.11
- !<sys-fs/cryptsetup-1.1.2
- !!sys-fs/lvm-user
- >=sys-apps/util-linux-2.16
- lvm2create_initrd? ( sys-apps/makedev )
- thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
-# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
-DEPEND="${DEPEND_COMMON}
- virtual/pkgconfig
- >=sys-devel/binutils-2.20.1-r1
- static? (
- selinux? ( sys-libs/libselinux[static-libs] )
- udev? ( >=virtual/libudev-208:=[static-libs] )
- >=sys-apps/util-linux-2.16[static-libs]
- )"
-
-S=${WORKDIR}/${PN/lvm/LVM}.${PV}
-
-pkg_setup() {
- local CONFIG_CHECK="~SYSVIPC"
-
- if use udev; then
- local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
- if linux_config_exists; then
- local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
- if [ -n "${uevent_helper_path}" ] && [ "${uevent_helper_path}" != '""' ]; then
- ewarn "It's recommended to set an empty value to the following kernel config option:"
- ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
- fi
- fi
- fi
-
- check_extra_config
-
- # 1. Genkernel no longer copies /sbin/lvm blindly.
- if use static; then
- elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
- elog "their static versions. If you need the static binaries,"
- elog "you must append .static to the filename!"
- fi
-}
-
-src_prepare() {
- # Gentoo specific modification(s):
- epatch "${FILESDIR}"/${PN}-2.02.108-example.conf.in.patch
-
- sed -i \
- -e "1iAR = $(tc-getAR)" \
- -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
- make.tmpl.in || die #444082
-
- sed -i -e '/FLAG/s:-O2::' configure{.in,} || die #480212
-
- if use udev && ! use device-mapper-only; then
- sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196
- elog "Notice that \"use_lvmetad\" setting is enabled with USE=\"udev\" in"
- elog "/etc/lvm/lvm.conf, which will require restart of udev, lvm, and lvmetad"
- elog "if it was previously disabled."
- fi
-
- sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
-
- # For upstream -- review and forward:
- epatch "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
- epatch "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
- epatch "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
- epatch "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
- epatch "${FILESDIR}"/${PN}-2.02.70-asneeded.patch # -Wl,--as-needed
- epatch "${FILESDIR}"/${PN}-2.02.92-dynamic-static-ldflags.patch #332905
- epatch "${FILESDIR}"/${PN}-2.02.108-static-pkgconfig-libs.patch #370217, #439414 + blkid
- epatch "${FILESDIR}"/${PN}-2.02.106-pthread-pkgconfig.patch #492450
-
- # Without thin-privision-tools, there is nothing to install for target install_man7:
- use thin || { sed -i -e '/^install_lvm2/s:install_man7::' man/Makefile.in || die; }
-
- eautoreconf
-}
-
-src_configure() {
- filter-flags -flto
- local myconf
- local buildmode
-
- myconf="${myconf} $(use_enable !device-mapper-only dmeventd)"
- myconf="${myconf} $(use_enable !device-mapper-only cmdlib)"
- myconf="${myconf} $(use_enable !device-mapper-only applib)"
- myconf="${myconf} $(use_enable !device-mapper-only fsadm)"
- myconf="${myconf} $(use_enable !device-mapper-only lvmetad)"
- use device-mapper-only && myconf="${myconf} --disable-udev-systemd-background-jobs"
-
- # Most of this package does weird stuff.
- # The build options are tristate, and --without is NOT supported
- # options: 'none', 'internal', 'shared'
- if use static; then
- buildmode="internal"
- # This only causes the .static versions to become available
- myconf="${myconf} --enable-static_link"
- else
- buildmode="shared"
- fi
- dmbuildmode=$(use !device-mapper-only && echo internal || echo none)
-
- # dmeventd requires mirrors to be internal, and snapshot available
- # so we cannot disable them
- myconf="${myconf} --with-mirrors=${dmbuildmode}"
- myconf="${myconf} --with-snapshots=${dmbuildmode}"
- if use thin; then
- myconf="${myconf} --with-thin=internal --with-cache=internal"
- local texec
- for texec in check dump repair restore; do
- myconf="${myconf} --with-thin-${texec}=${EPREFIX}/sbin/thin_${texec}"
- myconf="${myconf} --with-cache-${texec}=${EPREFIX}/sbin/cache_${texec}"
- done
- else
- myconf="${myconf} --with-thin=none --with-cache=none"
- fi
-
- if use lvm1; then
- myconf="${myconf} --with-lvm1=${buildmode}"
- else
- myconf="${myconf} --with-lvm1=none"
- fi
-
- # disable O_DIRECT support on hppa, breaks pv detection (#99532)
- use hppa && myconf="${myconf} --disable-o_direct"
-
- myconf="${myconf} --with-clvmd=none --with-cluster=none"
-
- econf \
- $(use_enable readline) \
- $(use_enable selinux) \
- --enable-pkgconfig \
- --with-confdir="${EPREFIX}"/etc \
- --exec-prefix="${EPREFIX}" \
- --sbindir="${EPREFIX}/sbin" \
- --with-staticdir="${EPREFIX}"/sbin \
- --libdir="${EPREFIX}/$(get_libdir)" \
- --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)" \
- --with-default-dm-run-dir=/run \
- --with-default-run-dir=/run/lvm \
- --with-default-locking-dir=/run/lock/lvm \
- --with-default-pid-dir=/run \
- $(use_enable udev udev_rules) \
- $(use_enable udev udev_sync) \
- $(use_with udev udevdir "$(get_udevdir)"/rules.d) \
- $(use_enable systemd udev-systemd-background-jobs) \
- "$(systemd_with_unitdir)" \
- ${myconf} \
- CLDFLAGS="${LDFLAGS}"
-}
-
-src_compile() {
- pushd include >/dev/null
- emake
- popd >/dev/null
-
- if use device-mapper-only ; then
- emake device-mapper
- else
- emake
- emake CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
- fi
-}
-
-src_install() {
- local inst
- INSTALL_TARGETS="install install_systemd_units install_systemd_generators install_tmpfiles_configuration"
- use device-mapper-only && INSTALL_TARGETS="install_device-mapper"
- for inst in ${INSTALL_TARGETS}; do
- emake DESTDIR="${D}" ${inst}
- done
-
- newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
- newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
-
- if use !device-mapper-only ; then
- newinitd "${FILESDIR}"/dmeventd.initd-2.02.67-r1 dmeventd
- newinitd "${FILESDIR}"/lvm.rc-2.02.105-r2 lvm
- newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm
-
- newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
- newinitd "${FILESDIR}"/lvmetad.initd-2.02.105-r2 lvmetad
- fi
-
- if use static-libs; then
- dolib.a libdm/ioctl/libdevmapper.a
- dolib.a libdaemon/client/libdaemonclient.a #462908
- dolib.a daemons/dmeventd/libdevmapper-event.a
- else
- rm -f "${ED}"usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
- fi
-
- if use lvm2create_initrd; then
- dosbin scripts/lvm2create_initrd/lvm2create_initrd
- doman scripts/lvm2create_initrd/lvm2create_initrd.8
- newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
- fi
-
- insinto /etc
- doins "${FILESDIR}"/dmtab
-
- dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
-}
-
-pkg_postinst() {
- ewarn "Make sure the \"lvm\" init script is in the runlevels:"
- ewarn "# rc-update add lvm boot"
- ewarn
- ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
- ewarn "to enable lvm autoactivation and metadata caching."
-}
-
-src_test() {
- einfo "Tests are disabled because of device-node mucking, if you want to"
- einfo "run tests, compile the package and see ${S}/tests"
-}
diff --git a/sys-fs/lvm2/lvm2-2.02.145-r2.ebuild b/sys-fs/lvm2/lvm2-2.02.145-r2.ebuild
deleted file mode 100644
index 10963e70c3d..00000000000
--- a/sys-fs/lvm2/lvm2-2.02.145-r2.ebuild
+++ /dev/null
@@ -1,254 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit autotools eutils linux-info multilib systemd toolchain-funcs udev flag-o-matic
-
-DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
-HOMEPAGE="https://sourceware.org/lvm2/"
-SRC_URI="ftp://sourceware.org/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
- ftp://sourceware.org/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="readline static static-libs systemd lvm1 lvm2create_initrd selinux +udev +thin device-mapper-only"
-REQUIRED_USE="device-mapper-only? ( !lvm1 !lvm2create_initrd !thin )
- systemd? ( udev )"
-
-DEPEND_COMMON="
- readline? ( sys-libs/readline:0= )
- systemd? ( >=sys-apps/systemd-205:0= )
- udev? ( >=virtual/libudev-208:=[static-libs(-)?] )"
-# /run is now required for locking during early boot. /var cannot be assumed to
-# be available -- thus, pull in recent enough baselayout for /run.
-# This version of LVM is incompatible with cryptsetup <1.1.2.
-RDEPEND="${DEPEND_COMMON}
- >=sys-apps/baselayout-2.2
- !<sys-apps/openrc-0.11
- !<sys-fs/cryptsetup-1.1.2
- !!sys-fs/lvm-user
- >=sys-apps/util-linux-2.16
- lvm2create_initrd? ( sys-apps/makedev )
- thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
-# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
-# USE 'static' currently only works with eudev, bug 520450
-DEPEND="${DEPEND_COMMON}
- virtual/pkgconfig
- >=sys-devel/binutils-2.20.1-r1
- sys-devel/autoconf-archive
- static? (
- selinux? ( sys-libs/libselinux[static-libs] )
- udev? ( >=sys-fs/eudev-3.1.2[static-libs] )
- >=sys-apps/util-linux-2.16[static-libs]
- )"
-
-S=${WORKDIR}/${PN/lvm/LVM}.${PV}
-
-PATCHES=(
- # Gentoo specific modification(s):
- "${FILESDIR}"/${PN}-2.02.129-example.conf.in.patch
-
- # For upstream -- review and forward:
- "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
- "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
- "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
- "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
- "${FILESDIR}"/${PN}-2.02.70-asneeded.patch # -Wl,--as-needed
- "${FILESDIR}"/${PN}-2.02.139-dynamic-static-ldflags.patch #332905
- "${FILESDIR}"/${PN}-2.02.129-static-pkgconfig-libs.patch #370217, #439414 + blkid
- "${FILESDIR}"/${PN}-2.02.130-pthread-pkgconfig.patch #492450
- "${FILESDIR}"/${PN}-2.02.145-mkdev.patch #580062
-)
-
-pkg_setup() {
- local CONFIG_CHECK="~SYSVIPC"
-
- if use udev; then
- local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
- if linux_config_exists; then
- local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
- if [ -n "${uevent_helper_path}" ] && [ "${uevent_helper_path}" != '""' ]; then
- ewarn "It's recommended to set an empty value to the following kernel config option:"
- ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
- fi
- fi
- fi
-
- check_extra_config
-
- # 1. Genkernel no longer copies /sbin/lvm blindly.
- if use static; then
- elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
- elog "their static versions. If you need the static binaries,"
- elog "you must append .static to the filename!"
- fi
-}
-
-src_prepare() {
- default
-
- sed -i \
- -e "1iAR = $(tc-getAR)" \
- -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
- make.tmpl.in || die #444082
-
- sed -i -e '/FLAG/s:-O2::' configure{.in,} || die #480212
-
- if use udev && ! use device-mapper-only; then
- sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196
- elog "Notice that \"use_lvmetad\" setting is enabled with USE=\"udev\" in"
- elog "/etc/lvm/lvm.conf, which will require restart of udev, lvm, and lvmetad"
- elog "if it was previously disabled."
- fi
-
- sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
-
- # Without thin-privision-tools, there is nothing to install for target install_man7:
- use thin || { sed -i -e '/^install_lvm2/s:install_man7::' man/Makefile.in || die; }
-
- eautoreconf
-}
-
-src_configure() {
- filter-flags -flto
- local myconf=()
- local buildmode
-
- myconf+=( $(use_enable !device-mapper-only dmeventd) )
- myconf+=( $(use_enable !device-mapper-only cmdlib) )
- myconf+=( $(use_enable !device-mapper-only applib) )
- myconf+=( $(use_enable !device-mapper-only fsadm) )
- myconf+=( $(use_enable !device-mapper-only lvmetad) )
- use device-mapper-only && myconf+=( --disable-udev-systemd-background-jobs )
-
- # Most of this package does weird stuff.
- # The build options are tristate, and --without is NOT supported
- # options: 'none', 'internal', 'shared'
- if use static; then
- buildmode="internal"
- # This only causes the .static versions to become available
- myconf+=( --enable-static_link )
- else
- buildmode="shared"
- fi
- dmbuildmode=$(use !device-mapper-only && echo internal || echo none)
-
- # dmeventd requires mirrors to be internal, and snapshot available
- # so we cannot disable them
- myconf+=( --with-mirrors=${dmbuildmode} )
- myconf+=( --with-snapshots=${dmbuildmode} )
- if use thin; then
- myconf+=( --with-thin=internal --with-cache=internal )
- local texec
- for texec in check dump repair restore; do
- myconf+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
- myconf+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
- done
- else
- myconf+=( --with-thin=none --with-cache=none )
- fi
-
- if use lvm1; then
- myconf+=( --with-lvm1=${buildmode} )
- else
- myconf+=( --with-lvm1=none )
- fi
-
- # disable O_DIRECT support on hppa, breaks pv detection (#99532)
- use hppa && myconf+=( --disable-o_direct )
-
- myconf+=( --with-clvmd=none --with-cluster=none )
-
- econf \
- $(use_enable readline) \
- $(use_enable selinux) \
- --enable-pkgconfig \
- --with-confdir="${EPREFIX}"/etc \
- --exec-prefix="${EPREFIX}" \
- --sbindir="${EPREFIX}/sbin" \
- --with-staticdir="${EPREFIX}"/sbin \
- --libdir="${EPREFIX}/$(get_libdir)" \
- --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)" \
- --with-default-dm-run-dir=/run \
- --with-default-run-dir=/run/lvm \
- --with-default-locking-dir=/run/lock/lvm \
- --with-default-pid-dir=/run \
- $(use_enable udev udev_rules) \
- $(use_enable udev udev_sync) \
- $(use_with udev udevdir "$(get_udevdir)"/rules.d) \
- $(use_enable systemd udev-systemd-background-jobs) \
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" \
- ${myconf[@]} \
- CLDFLAGS="${LDFLAGS}"
-}
-
-src_compile() {
- pushd include >/dev/null
- emake
- popd >/dev/null
-
- if use device-mapper-only ; then
- emake device-mapper
- else
- emake
- emake CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
- fi
-}
-
-src_install() {
- local inst
- INSTALL_TARGETS="install install_tmpfiles_configuration"
- # install systemd related files only when requested, bug #522430
- use systemd && INSTALL_TARGETS="${INSTALL_TARGETS} install_systemd_units install_systemd_generators"
- use device-mapper-only && INSTALL_TARGETS="install_device-mapper"
- for inst in ${INSTALL_TARGETS}; do
- emake DESTDIR="${D}" ${inst}
- done
-
- newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
- newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
-
- if use !device-mapper-only ; then
- newinitd "${FILESDIR}"/dmeventd.initd-2.02.67-r1 dmeventd
- newinitd "${FILESDIR}"/lvm.rc-2.02.116-r6 lvm
- newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm
-
- newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
- newinitd "${FILESDIR}"/lvmetad.initd-2.02.116-r3 lvmetad
- fi
-
- if use static-libs; then
- dolib.a libdm/ioctl/libdevmapper.a
- if use !device-mapper-only ; then
- dolib.a libdaemon/client/libdaemonclient.a #462908
- dolib.a daemons/dmeventd/libdevmapper-event.a
- fi
- else
- rm -f "${ED}"usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
- fi
-
- if use lvm2create_initrd; then
- dosbin scripts/lvm2create_initrd/lvm2create_initrd
- doman scripts/lvm2create_initrd/lvm2create_initrd.8
- newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
- fi
-
- insinto /etc
- doins "${FILESDIR}"/dmtab
-
- dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
-}
-
-pkg_postinst() {
- ewarn "Make sure the \"lvm\" init script is in the runlevels:"
- ewarn "# rc-update add lvm boot"
- ewarn
- ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
- ewarn "to enable lvm autoactivation and metadata caching."
-}
-
-src_test() {
- einfo "Tests are disabled because of device-node mucking, if you want to"
- einfo "run tests, compile the package and see ${S}/tests"
-}
diff --git a/sys-fs/lvm2/metadata.xml b/sys-fs/lvm2/metadata.xml
index 019c533da75..0761d9dca00 100644
--- a/sys-fs/lvm2/metadata.xml
+++ b/sys-fs/lvm2/metadata.xml
@@ -16,7 +16,6 @@
<description>Upstream Maintainer (please CC on bugs)</description>
</maintainer>
<use>
- <flag name="lvm1">Allow users to build lvm2 with lvm1 support</flag>
<flag name="lvm2create_initrd">Install lvm2create_initrd script and pull in <pkg>sys-apps/makedev</pkg> for the /sbin/MAKEDEV command</flag>
<flag name="thin">Support for thin volumes</flag>
<flag name="device-mapper-only">Build only device-mapper and not the rest of LVM2 (UNSUPPORTED)</flag>
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2021-05-09 9:05 Lars Wendler
0 siblings, 0 replies; 29+ messages in thread
From: Lars Wendler @ 2021-05-09 9:05 UTC (permalink / raw
To: gentoo-commits
commit: a7ac92c1680fc9f4c22ec486751d39503c8fe404
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Sun May 9 09:04:55 2021 +0000
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Sun May 9 09:04:55 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a7ac92c1
sys-fs/lvm2: Bump to version 2.03.12. Removed old
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
sys-fs/lvm2/Manifest | 2 +-
...h => lvm2-2.03.12-dynamic-static-ldflags.patch} | 35 +++---
sys-fs/lvm2/files/lvm2-2.03.12-static-libm.patch | 25 +++++
.../files/lvm2-2.03.12-static-pkgconfig-libs.patch | 117 +++++++++++++++++++++
.../{lvm2-2.03.11.ebuild => lvm2-2.03.12.ebuild} | 6 +-
5 files changed, 164 insertions(+), 21 deletions(-)
diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest
index eacbc2c1aad..03bce3f05e0 100644
--- a/sys-fs/lvm2/Manifest
+++ b/sys-fs/lvm2/Manifest
@@ -1,3 +1,3 @@
DIST LVM2.2.02.187.tgz 2405544 BLAKE2B be804be3c64927a8848e8ea8de228fb563b6f8c22628b785aabb33fc993629e5370788216bd814246aeb3a5546fd5446383ce24342e716579887556edf2bbed2 SHA512 3ce56f0c0d2e7dbcdae5be263199f73ee5c4c052599d53cde9b16500a326d0340893344f4671839be06b5b4225d592175d01c9974db14f2dc220d6e9a1d47e91
DIST LVM2.2.02.188.tgz 2421550 BLAKE2B bed90c8454cd4b20fdeec6dcbf5a9f97c9310671aea3b2252f8069cfa439fcb050f5ad95f928a7125a1734a4dc5ac985da99a4a570538e377a7205191a505476 SHA512 8c9db17c49dc8ebcab6c7f246ab85870a80658be811cf7f4d8f36abbebafa355b030bfc1e3bcbad73ccccb7fcd06d4a95ac547ca15d18d33715126da92703dca
-DIST LVM2.2.03.11.tgz 2528527 BLAKE2B 4c02e630e033f9bfed44468b5b8dff4af52c943cb9d6385bfe568ba50463dfc97cd968d79c34eb2528d66930d6c2895de17fe546a34d80fd17a5892560bcb670 SHA512 50f21337e397fc5b4692bb08e5d48409b907b96b39168343bab2d40bb74fd84ff466e15f3d664305bc044f3f6be4369fa7378399d5a838793632e74706f17653
+DIST LVM2.2.03.12.tgz 2594040 BLAKE2B 4e5630f27c818b79a1241b96a9d58d7078ece4a061b9bb4f26fddf77036fa2a319cc4f23835a6c784b025b3ddd07a18ce0a7ad3038fc90e90c2990d309a5d64a SHA512 e4d3bfb38b346251a2ea2cee7b79f2e12ed407652b659b35b65f58c8bb252943cee1c511713aeec8ff3400790e0e99ea6b83e8740050defe5cbb118f18bf7700
diff --git a/sys-fs/lvm2/files/lvm2-2.03.05-dynamic-static-ldflags.patch b/sys-fs/lvm2/files/lvm2-2.03.12-dynamic-static-ldflags.patch
similarity index 71%
rename from sys-fs/lvm2/files/lvm2-2.03.05-dynamic-static-ldflags.patch
rename to sys-fs/lvm2/files/lvm2-2.03.12-dynamic-static-ldflags.patch
index 2b9a5dd945c..80b6bc7a023 100644
--- a/sys-fs/lvm2/files/lvm2-2.03.05-dynamic-static-ldflags.patch
+++ b/sys-fs/lvm2/files/lvm2-2.03.12-dynamic-static-ldflags.patch
@@ -1,9 +1,10 @@
-From 93101699f5e1190184c00c99ab7b6e9717e5019a Mon Sep 17 00:00:00 2001
+From 4bdd215fd84e83a8119d0b971904221743a87a23 Mon Sep 17 00:00:00 2001
From: "Robin H. Johnson" <robbat2@gentoo.org>
Date: Wed, 24 Jul 2019 11:11:35 +0200
Subject: [PATCH] Add dynamic static ldflags
Forward-ported from 2.02.178 to 2.03.05
+Forward-ported from 2.03.05 to 2.03.12
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
---
configure.ac | 2 ++
@@ -13,18 +14,18 @@ Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
4 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
-index 1e45c0edcb..cc2625294a 100644
+index 1a49e7fe7e..354b53b5ec 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -33,6 +33,7 @@ case "$host_os" in
- CLDFLAGS="${CLDFLAGS:"$LDFLAGS"} -Wl,--version-script,.export.sym"
+@@ -32,6 +32,7 @@ case "$host_os" in
+ linux*)
# equivalent to -rdynamic
ELDFLAGS="-Wl,--export-dynamic"
+ STATIC_LDFLAGS="-Wl,--no-export-dynamic"
# FIXME Generate list and use --dynamic-list=.dlopen.sym
CLDWHOLEARCHIVE="-Wl,-whole-archive"
CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive"
-@@ -1758,6 +1759,7 @@ AC_SUBST(SYSCONFDIR)
+@@ -1860,6 +1861,7 @@ AC_SUBST(SYSCONFDIR)
AC_SUBST(SYSTEMD_LIBS)
AC_SUBST(SNAPSHOTS)
AC_SUBST(STATICDIR)
@@ -33,23 +34,23 @@ index 1e45c0edcb..cc2625294a 100644
AC_SUBST(TESTSUITE_DATA)
AC_SUBST(THIN)
diff --git a/daemons/dmeventd/Makefile.in b/daemons/dmeventd/Makefile.in
-index 6bd36d0325..a3c30ec1a0 100644
+index af51198aae..f7896e581e 100644
--- a/daemons/dmeventd/Makefile.in
+++ b/daemons/dmeventd/Makefile.in
-@@ -66,7 +66,7 @@ dmeventd: $(LIB_SHARED) dmeventd.o
+@@ -76,7 +76,7 @@ dmeventd: $(LIB_SHARED) dmeventd.o
dmeventd.static: $(LIB_STATIC) dmeventd.o
@echo " [CC] $@"
-- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L. -L$(interfacebuilddir) dmeventd.o \
-+ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L. -L$(interfacebuilddir) dmeventd.o \
+- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static dmeventd.o \
++ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static dmeventd.o \
-o $@ $(DL_LIBS) $(DMEVENT_LIBS) $(LIBS) $(STATIC_LIBS)
ifeq ("@PKGCONFIG@", "yes")
diff --git a/make.tmpl.in b/make.tmpl.in
-index f3332e91c1..1489c2afad 100644
+index 200ea2e05f..99f02e8b77 100644
--- a/make.tmpl.in
+++ b/make.tmpl.in
-@@ -68,6 +68,7 @@ DEFS += @DEFS@
+@@ -69,6 +69,7 @@ DEFS += @DEFS@
# FIXME set this only where it's needed, not globally?
CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
LDFLAGS ?= @LDFLAGS@
@@ -58,18 +59,18 @@ index f3332e91c1..1489c2afad 100644
ELDFLAGS += @ELDFLAGS@
LDDEPS += @LDDEPS@
diff --git a/tools/Makefile.in b/tools/Makefile.in
-index 2620daa17c..e5fc9c4ae4 100644
+index ec546ca632..cdede2a058 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
-@@ -136,7 +136,7 @@ man-generator: man-generator.o
+@@ -137,7 +137,7 @@ man-generator: man-generator.o
lvm.static: $(OBJECTS) lvm-static.o $(LVMINTERNAL_LIBS)
@echo " [CC] $@"
-- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) -o $@ $+ \
-+ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) -o $@ $+ \
- $(DMEVENT_LIBS) $(STATIC_LIBS) $(LVMLIBS)
+- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) \
++ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) \
+ -o $@ $+ $(LVMLIBS) $(STATIC_LIBS)
liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
--
-2.22.0
+2.31.1
diff --git a/sys-fs/lvm2/files/lvm2-2.03.12-static-libm.patch b/sys-fs/lvm2/files/lvm2-2.03.12-static-libm.patch
new file mode 100644
index 00000000000..5bb776c9b5e
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.12-static-libm.patch
@@ -0,0 +1,25 @@
+From 4917d9c8b6227256a4a83ff937119d6aa53d654e Mon Sep 17 00:00:00 2001
+From: "Robin H. Johnson" <robbat2@gentoo.org>
+Date: Sun, 9 May 2021 11:02:54 +0200
+Subject: [PATCH] Add libm to static libs
+
+---
+ make.tmpl.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/make.tmpl.in b/make.tmpl.in
+index ae189546d0..8ee00bd9e8 100644
+--- a/make.tmpl.in
++++ b/make.tmpl.in
+@@ -64,7 +64,7 @@ PYCOMPILE = $(top_srcdir)/autoconf/py-compile
+ LIBS += @LIBS@ $(SELINUX_LIBS) $(UDEV_LIBS) $(RT_LIBS) $(M_LIBS)
+ LVMLIBS = $(DMEVENT_LIBS) $(READLINE_LIBS) $(EDITLINE_LIBS) $(SYSTEMD_LIBS) $(BLKID_LIBS) $(AIO_LIBS) $(LIBS)
+ # Extra libraries always linked with static binaries
+-STATIC_LIBS = $(PTHREAD_LIBS) $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS)
++STATIC_LIBS = $(PTHREAD_LIBS) $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS) $(M_LIBS)
+ DEFS += @DEFS@
+ # FIXME set this only where it's needed, not globally?
+ CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
+--
+2.31.1
+
diff --git a/sys-fs/lvm2/files/lvm2-2.03.12-static-pkgconfig-libs.patch b/sys-fs/lvm2/files/lvm2-2.03.12-static-pkgconfig-libs.patch
new file mode 100644
index 00000000000..083a7327c6a
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.12-static-pkgconfig-libs.patch
@@ -0,0 +1,117 @@
+From 88aeb306dfd1e0174bf02cc208d46f0d722204dc Mon Sep 17 00:00:00 2001
+From: "Robin H. Johnson" <robbat2@gentoo.org>
+Date: Sun, 9 May 2021 11:00:22 +0200
+Subject: [PATCH] Use pkgconfig to detect static libs
+
+---
+ configure.ac | 20 ++++++++++++++++++--
+ make.tmpl.in | 5 ++++-
+ 2 files changed, 22 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 354b53b5ec..e872d70256 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1097,6 +1097,7 @@ if test "$BLKID_WIPING" != no; then
+ PKG_CHECK_MODULES(BLKID, blkid >= 2.24,
+ [ BLKID_WIPING=yes
+ BLKID_PC="blkid"
++ BLKID_STATIC_LIBS=`$PKG_CONFIG --static --libs $BLKID_PC`
+ DEFAULT_USE_BLKID_WIPING=1
+ AC_DEFINE([BLKID_WIPING_SUPPORT], 1, [Define to 1 to use libblkid detection of signatures when wiping.])
+ ], [if test "$BLKID_WIPING" = maybe; then
+@@ -1145,6 +1146,7 @@ AC_MSG_RESULT($UDEV_SYNC)
+ if test "$UDEV_SYNC" = yes; then
+ pkg_config_init
+ PKG_CHECK_MODULES(UDEV, libudev >= 143, [UDEV_PC="libudev"])
++ UDEV_STATIC_LIBS=`$PKG_CONFIG --static --libs libudev`
+ AC_DEFINE([UDEV_SYNC_SUPPORT], 1, [Define to 1 to enable synchronisation with udev processing.])
+
+ AC_CHECK_LIB(udev, udev_device_get_is_initialized, AC_DEFINE([HAVE_LIBUDEV_UDEV_DEVICE_GET_IS_INITIALIZED], 1,
+@@ -1369,19 +1371,30 @@ dnl -- Check for selinux
+ if test "$SELINUX" = yes; then
+ AC_CHECK_LIB([sepol], [sepol_check_context], [
+ AC_DEFINE([HAVE_SEPOL], 1, [Define to 1 if sepol_check_context is available.])
+- SELINUX_LIBS="-lsepol"])
++ SEPOL_LIBS="-lsepol"])
++
++ dnl -- init pkgconfig if required
++ AS_IF([test x$PKGCONFIG_INIT != x1], [pkg_config_init])
++ PKG_CHECK_MODULES(SELINUX, libselinux, [
++ SELINUX_PC="libselinux"
++ SELINUX_STATIC_LIBS=`$PKG_CONFIG --static --libs libselinux`
++ SELINUX_LIBS="$SELINUX_LIBS $SEPOL_LIBS"
++ AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
++ ], [
++ dnl -- old non-pkgconfig method, is buggy with static builds
+
+ AC_CHECK_LIB([selinux], [is_selinux_enabled], [
+ AC_CHECK_HEADERS([selinux/selinux.h],, hard_bailout)
+ AC_CHECK_HEADERS([selinux/label.h])
+ AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
+- SELINUX_LIBS="-lselinux $SELINUX_LIBS"
++ SELINUX_LIBS="-lselinux $SEPOL_LIBS"
+ SELINUX_PC="libselinux"
+ HAVE_SELINUX=yes ], [
+ AC_MSG_WARN(Disabling selinux)
+ SELINUX_LIBS=
+ SELINUX_PC=
+ HAVE_SELINUX=no ])
++ ])
+ fi
+
+ ################################################################################
+@@ -1755,6 +1768,7 @@ AC_DEFINE_UNQUOTED(LVM_CONFIGURE_LINE, "$CONFIGURE_LINE", [configure command lin
+ ################################################################################
+ AC_SUBST(AWK)
+ AC_SUBST(BLKID_PC)
++AC_SUBST(BLKID_STATIC_LIBS)
+ AC_SUBST(BUILD_CMIRRORD)
+ AC_SUBST(BUILD_DMEVENTD)
+ AC_SUBST(BUILD_LVMDBUSD)
+@@ -1857,6 +1871,7 @@ AC_SUBST(SALCK_LIBS)
+ AC_SUBST(SBINDIR)
+ AC_SUBST(SELINUX_LIBS)
+ AC_SUBST(SELINUX_PC)
++AC_SUBST(SELINUX_STATIC_LIBS)
+ AC_SUBST(SYSCONFDIR)
+ AC_SUBST(SYSTEMD_LIBS)
+ AC_SUBST(SNAPSHOTS)
+@@ -1875,6 +1890,7 @@ AC_SUBST(CACHE_REPAIR_CMD)
+ AC_SUBST(CACHE_RESTORE_CMD)
+ AC_SUBST(UDEV_PC)
+ AC_SUBST(UDEV_RULES)
++AC_SUBST(UDEV_STATIC_LIBS)
+ AC_SUBST(UDEV_SYNC)
+ AC_SUBST(UDEV_SYSTEMD_BACKGROUND_JOBS)
+ AC_SUBST(UDEV_RULE_EXEC_DETECTION)
+diff --git a/make.tmpl.in b/make.tmpl.in
+index 99f02e8b77..ae189546d0 100644
+--- a/make.tmpl.in
++++ b/make.tmpl.in
+@@ -64,7 +64,7 @@ PYCOMPILE = $(top_srcdir)/autoconf/py-compile
+ LIBS += @LIBS@ $(SELINUX_LIBS) $(UDEV_LIBS) $(RT_LIBS) $(M_LIBS)
+ LVMLIBS = $(DMEVENT_LIBS) $(READLINE_LIBS) $(EDITLINE_LIBS) $(SYSTEMD_LIBS) $(BLKID_LIBS) $(AIO_LIBS) $(LIBS)
+ # Extra libraries always linked with static binaries
+-STATIC_LIBS = $(PTHREAD_LIBS)
++STATIC_LIBS = $(PTHREAD_LIBS) $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS)
+ DEFS += @DEFS@
+ # FIXME set this only where it's needed, not globally?
+ CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
+@@ -83,10 +83,13 @@ PTHREAD_LIBS = @PTHREAD_LIBS@
+ READLINE_LIBS = @READLINE_LIBS@
+ EDITLINE_LIBS = @EDITLINE_LIBS@
+ SELINUX_LIBS = @SELINUX_LIBS@
++SELINUX_STATIC_LIBS = @SELINUX_STATIC_LIBS@
+ UDEV_CFLAGS = @UDEV_CFLAGS@
+ UDEV_LIBS = @UDEV_LIBS@
++UDEV_STATIC_LIBS = @UDEV_STATIC_LIBS@
+ BLKID_CFLAGS = @BLKID_CFLAGS@
+ BLKID_LIBS = @BLKID_LIBS@
++BLKID_STATIC_LIBS = @BLKID_STATIC_LIBS@
+ SYSTEMD_LIBS = @SYSTEMD_LIBS@
+ VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
+ USE_TRACKING = @USE_TRACKING@
+--
+2.31.1
+
diff --git a/sys-fs/lvm2/lvm2-2.03.11.ebuild b/sys-fs/lvm2/lvm2-2.03.12.ebuild
similarity index 97%
rename from sys-fs/lvm2/lvm2-2.03.11.ebuild
rename to sys-fs/lvm2/lvm2-2.03.12.ebuild
index d8d945f5a7d..5a5bd509c37 100644
--- a/sys-fs/lvm2/lvm2-2.03.11.ebuild
+++ b/sys-fs/lvm2/lvm2-2.03.12.ebuild
@@ -58,10 +58,10 @@ PATCHES=(
"${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
"${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
#"${FILESDIR}"/${PN}-2.02.178-asneeded.patch # -Wl,--as-needed
- "${FILESDIR}"/${PN}-2.03.05-dynamic-static-ldflags.patch #332905
- "${FILESDIR}"/${PN}-2.02.178-static-pkgconfig-libs.patch #370217, #439414 + blkid
+ "${FILESDIR}"/${PN}-2.03.12-dynamic-static-ldflags.patch #332905
+ "${FILESDIR}"/${PN}-2.03.12-static-pkgconfig-libs.patch #370217, #439414 + blkid
"${FILESDIR}"/${PN}-2.03.05-pthread-pkgconfig.patch #492450
- "${FILESDIR}"/${PN}-2.02.171-static-libm.patch #617756
+ "${FILESDIR}"/${PN}-2.03.12-static-libm.patch #617756
"${FILESDIR}"/${PN}-2.02.166-HPPA-no-O_DIRECT.patch #657446
#"${FILESDIR}"/${PN}-2.02.145-mkdev.patch #580062 # Merged upstream
"${FILESDIR}"/${PN}-2.03.05-dmeventd-no-idle-exit.patch
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2022-06-16 22:10 Sam James
0 siblings, 0 replies; 29+ messages in thread
From: Sam James @ 2022-06-16 22:10 UTC (permalink / raw
To: gentoo-commits
commit: 515ec4557c56cf0e82b95873056c40d8c6269694
Author: Alfred Persson Forsberg <cat <AT> catcream <DOT> org>
AuthorDate: Thu Jun 16 22:03:41 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jun 16 22:10:26 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=515ec455
sys-fs/lvm2: fix building on musl
A few changes to make lvm2 build on musl. Each patch file is commented
in more detail, see those. The mallinfo patch should be looked back to.
Closes: https://bugs.gentoo.org/712336
Closes: https://bugs.gentoo.org/549506
Signed-off-by: Alfred Persson Forsberg <cat <AT> catcream.org>
Closes: https://github.com/gentoo/gentoo/pull/25883
Signed-off-by: Sam James <sam <AT> gentoo.org>
sys-fs/lvm2/files/lvm2-2.03.14-r1-add-fcntl.patch | 24 ++++++++++++
.../files/lvm2-2.03.14-r1-fopen-to-freopen.patch | 43 ++++++++++++++++++++++
sys-fs/lvm2/files/lvm2-2.03.14-r1-mallinfo.patch | 18 +++++++++
sys-fs/lvm2/lvm2-2.03.14-r1.ebuild | 3 ++
4 files changed, 88 insertions(+)
diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-r1-add-fcntl.patch b/sys-fs/lvm2/files/lvm2-2.03.14-r1-add-fcntl.patch
new file mode 100644
index 000000000000..1b5524a61405
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.14-r1-add-fcntl.patch
@@ -0,0 +1,24 @@
+https://bugs.gentoo.org/712336
+https://bugs.gentoo.org/549506
+
+Adds fcntl.h into daemon-server.c to define fcntl and some constants.
+
+---
+ libdaemon/server/daemon-server.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/libdaemon/server/daemon-server.c b/libdaemon/server/daemon-server.c
+index 88905a7..771b021 100644
+--- a/libdaemon/server/daemon-server.c
++++ b/libdaemon/server/daemon-server.c
+@@ -28,6 +28,7 @@
+ #include <sys/un.h>
+ #include <unistd.h>
+ #include <signal.h>
++#include <fcntl.h>
+
+ #include <syslog.h> /* FIXME. For the global closelog(). */
+
+--
+2.35.1
+
diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-r1-fopen-to-freopen.patch b/sys-fs/lvm2/files/lvm2-2.03.14-r1-fopen-to-freopen.patch
new file mode 100644
index 000000000000..56248e10e5d6
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.14-r1-fopen-to-freopen.patch
@@ -0,0 +1,43 @@
+In musl stdout, stdin and stderr are read-only unlike in glibc.
+This patch changes std* = fopen(...) to freopen(..., std*).
+
+See: https://www.gnu.org/software/libc/manual/html_node/Standard-Streams.html and https://wiki.gentoo.org/wiki/User:Sam/Musl_porting_notes
+
+---
+ tools/lvmcmdline.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c
+index 1e12bed..19da1e5 100644
+--- a/tools/lvmcmdline.c
++++ b/tools/lvmcmdline.c
+@@ -3384,7 +3384,7 @@ static int _check_standard_fds(void)
+ int err = is_valid_fd(STDERR_FILENO);
+
+ if (!is_valid_fd(STDIN_FILENO) &&
+- !(stdin = fopen(_PATH_DEVNULL, "r"))) {
++ !freopen(_PATH_DEVNULL, "r", stdin)) {
+ if (err)
+ perror("stdin stream open");
+ else
+@@ -3394,7 +3394,7 @@ static int _check_standard_fds(void)
+ }
+
+ if (!is_valid_fd(STDOUT_FILENO) &&
+- !(stdout = fopen(_PATH_DEVNULL, "w"))) {
++ !freopen(_PATH_DEVNULL, "w", stdout)) {
+ if (err)
+ perror("stdout stream open");
+ /* else no stdout */
+@@ -3402,7 +3402,7 @@ static int _check_standard_fds(void)
+ }
+
+ if (!is_valid_fd(STDERR_FILENO) &&
+- !(stderr = fopen(_PATH_DEVNULL, "w"))) {
++ !freopen(_PATH_DEVNULL, "w", stderr)) {
+ printf("stderr stream open: %s\n",
+ strerror(errno));
+ return 0;
+--
+2.35.1
+
diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-r1-mallinfo.patch b/sys-fs/lvm2/files/lvm2-2.03.14-r1-mallinfo.patch
new file mode 100644
index 000000000000..af4cbc0d5aab
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.14-r1-mallinfo.patch
@@ -0,0 +1,18 @@
+https://git.alpinelinux.org/aports/tree/main/lvm2/mallinfo.patch
+
+Patch from Alpine, disables _allocate_memory since mallinfo isn't defined in musl.
+19:17 <@sam_> your caution is well-advised, but it should be safe enough given it's only affecting the non-glibc path
+
+Should be looked back to!
+
+--- ./lib/mm/memlock.c.orig 2015-03-09 11:18:41.560028850 -0100
++++ ./lib/mm/memlock.c 2015-03-09 11:19:54.504373309 -0100
+@@ -137,7 +137,7 @@
+
+ static void _allocate_memory(void)
+ {
+-#ifndef VALGRIND_POOL
++#if !defined(VALGRIND_POOL) && defined(__GLIBC__)
+ void *stack_mem;
+ struct rlimit limit;
+ int i, area = 0, missing = _size_malloc_tmp, max_areas = 32, hblks;
diff --git a/sys-fs/lvm2/lvm2-2.03.14-r1.ebuild b/sys-fs/lvm2/lvm2-2.03.14-r1.ebuild
index f3bc54eebc36..66b2184868ed 100644
--- a/sys-fs/lvm2/lvm2-2.03.14-r1.ebuild
+++ b/sys-fs/lvm2/lvm2-2.03.14-r1.ebuild
@@ -70,6 +70,9 @@ PATCHES=(
"${FILESDIR}"/${PN}-2.03.05-dmeventd-no-idle-exit.patch
#"${FILESDIR}"/${PN}-2.02.184-allow-reading-metadata-with-invalid-creation_time.patch #682380 # merged upstream
"${FILESDIR}"/${PN}-2.02.184-mksh_build.patch #686652
+ "${FILESDIR}"/${PN}-2.03.14-r1-add-fcntl.patch
+ "${FILESDIR}"/${PN}-2.03.14-r1-fopen-to-freopen.patch
+ "${FILESDIR}"/${PN}-2.03.14-r1-mallinfo.patch
)
pkg_setup() {
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2022-07-07 15:10 Mike Gilbert
0 siblings, 0 replies; 29+ messages in thread
From: Mike Gilbert @ 2022-07-07 15:10 UTC (permalink / raw
To: gentoo-commits
commit: b48169ca772187d66007a3fd051df57a5d152303
Author: Alfred Persson Forsberg <cat <AT> catcream <DOT> org>
AuthorDate: Wed Jun 29 17:45:36 2022 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Thu Jul 7 15:08:48 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b48169ca
sys-fs/lvm2: fix segfault on musl
The default streams in musl are const and we can't modify them directly.
Use freopen instead.
https://listman.redhat.com/archives/lvm-devel/2022-June/024203.html
See also:
https://wiki.gentoo.org/wiki/User:Sam/Musl_porting_notes#error:_assignment_of_read-only_variable_.27.5Bstdout.7Cstdin.7Cstderr.5D.27
https://www.gnu.org/software/libc/manual/html_node/Standard-Streams.html
Signed-off-by: Alfred Persson Forsberg <cat <AT> catcream.org>
Closes: https://github.com/gentoo/gentoo/pull/26024
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
sys-fs/lvm2/files/lvm2-2.03.14-freopen_n2.patch | 34 ++++++++++++++++++++++
...m2-2.03.14-r2.ebuild => lvm2-2.03.14-r3.ebuild} | 1 +
2 files changed, 35 insertions(+)
diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-freopen_n2.patch b/sys-fs/lvm2/files/lvm2-2.03.14-freopen_n2.patch
new file mode 100644
index 000000000000..5ca32f19fc54
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.14-freopen_n2.patch
@@ -0,0 +1,34 @@
+In musl, the standard streams are read-only. To modify them we need to
+use freopen. This patch does the same as lvm2-2.03.14-r1-fopen-to-freopen.patch
+
+https://listman.redhat.com/archives/lvm-devel/2022-June/024203.html
+
+See also:
+https://wiki.gentoo.org/wiki/User:Sam/Musl_porting_notes#error:_assignment_of_read-only_variable_.27.5Bstdout.7Cstdin.7Cstderr.5D.27
+https://www.gnu.org/software/libc/manual/html_node/Standard-Streams.html
+
+---
+ lib/log/log.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/lib/log/log.c b/lib/log/log.c
+index 7b4d537..897c183 100644
+--- a/lib/log/log.c
++++ b/lib/log/log.c
+@@ -207,8 +207,12 @@ int reopen_standard_stream(FILE **stream, const char *mode)
+ }
+
+ _check_and_replace_standard_log_streams(old_stream, new_stream);
+-
++
++#ifdef __GLIBC__
+ *stream = new_stream;
++#else
++ freopen(NULL, mode, *stream);
++#endif
+ return 1;
+ }
+
+--
+2.35.1
+
diff --git a/sys-fs/lvm2/lvm2-2.03.14-r2.ebuild b/sys-fs/lvm2/lvm2-2.03.14-r3.ebuild
similarity index 99%
rename from sys-fs/lvm2/lvm2-2.03.14-r2.ebuild
rename to sys-fs/lvm2/lvm2-2.03.14-r3.ebuild
index 2da81764efe4..281599b2fdf0 100644
--- a/sys-fs/lvm2/lvm2-2.03.14-r2.ebuild
+++ b/sys-fs/lvm2/lvm2-2.03.14-r3.ebuild
@@ -73,6 +73,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-2.03.14-r1-add-fcntl.patch
"${FILESDIR}"/${PN}-2.03.14-r1-fopen-to-freopen.patch
"${FILESDIR}"/${PN}-2.03.14-r1-mallinfo.patch
+ "${FILESDIR}"/${PN}-2.03.14-freopen_n2.patch
)
pkg_setup() {
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2022-10-26 19:17 Mike Gilbert
0 siblings, 0 replies; 29+ messages in thread
From: Mike Gilbert @ 2022-10-26 19:17 UTC (permalink / raw
To: gentoo-commits
commit: 7b5252991ea9d0d5f16d33ea8d07faae8722f3b1
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 26 18:27:18 2022 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Wed Oct 26 19:17:00 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7b525299
sys-fs/lvm2: drop 2.02.188-r3
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
sys-fs/lvm2/Manifest | 1 -
sys-fs/lvm2/files/lvm2-2.02.171-static-libm.patch | 13 -
.../files/lvm2-2.02.176-pthread-pkgconfig.patch | 29 --
sys-fs/lvm2/files/lvm2-2.02.178-asneeded.patch | 15 -
.../lvm2-2.02.178-dynamic-static-ldflags.patch | 59 ----
.../lvm2/files/lvm2-2.02.178-example.conf.in.patch | 50 ----
.../lvm2-2.02.178-static-pkgconfig-libs.patch | 102 -------
...ading-metadata-with-invalid-creation_time.patch | 72 -----
.../lvm2-2.02.184-dmeventd-no-idle-exit.patch | 68 -----
...2-2.02.186-udev_remove_unsupported_option.patch | 34 ---
.../lvm2-2.02.63-always-make-static-libdm.patch | 42 ---
sys-fs/lvm2/lvm2-2.02.188-r3.ebuild | 308 ---------------------
12 files changed, 793 deletions(-)
diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest
index f62db729f464..040ecbb191f0 100644
--- a/sys-fs/lvm2/Manifest
+++ b/sys-fs/lvm2/Manifest
@@ -1,2 +1 @@
-DIST LVM2.2.02.188.tgz 2421550 BLAKE2B bed90c8454cd4b20fdeec6dcbf5a9f97c9310671aea3b2252f8069cfa439fcb050f5ad95f928a7125a1734a4dc5ac985da99a4a570538e377a7205191a505476 SHA512 8c9db17c49dc8ebcab6c7f246ab85870a80658be811cf7f4d8f36abbebafa355b030bfc1e3bcbad73ccccb7fcd06d4a95ac547ca15d18d33715126da92703dca
DIST LVM2.2.03.14.tgz 2639538 BLAKE2B 806f5e9cb76a05febef6f8ce8cfc42c92927b9538f62a21029c5ffc426a4fd7c3f32709be08dbd8028b53891b1075d1d13cb3b0d7b1815071ee8eb927d8f3ed3 SHA512 6a93bed1d5cf36f0f48d4d413d028b0e480cd4fc20e25d173770a892f265d2a0cc68d01a720b1513469953649e989532cd0c45f9538f92a4190eb3dc4555857d
diff --git a/sys-fs/lvm2/files/lvm2-2.02.171-static-libm.patch b/sys-fs/lvm2/files/lvm2-2.02.171-static-libm.patch
deleted file mode 100644
index 1cbf956db258..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.171-static-libm.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/make.tmpl.in b/make.tmpl.in
-index a40eaaa15..7eea943aa 100644
---- a/make.tmpl.in
-+++ b/make.tmpl.in
-@@ -53,7 +53,7 @@ PYCOMPILE = $(top_srcdir)/autoconf/py-compile
-
- LIBS = @LIBS@
- # Extra libraries always linked with static binaries
--STATIC_LIBS = $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS)
-+STATIC_LIBS = $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS) $(M_LIBS)
- DEFS += @DEFS@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
diff --git a/sys-fs/lvm2/files/lvm2-2.02.176-pthread-pkgconfig.patch b/sys-fs/lvm2/files/lvm2-2.02.176-pthread-pkgconfig.patch
deleted file mode 100644
index c0265e81268a..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.176-pthread-pkgconfig.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- LVM2.2.02.176/libdm/libdevmapper.pc.in
-+++ LVM2.2.02.176/libdm/libdevmapper.pc.in
-@@ -9,4 +9,4 @@
- Cflags: -I${includedir}
- Libs: -L${libdir} -ldevmapper
- Requires.private: @SELINUX_PC@ @UDEV_PC@
--Libs.private: -lm @RT_LIBS@
-+Libs.private: -lm @RT_LIBS@ @PTHREAD_LIBS@
---- LVM2.2.02.176/tools/Makefile.in
-+++ LVM2.2.02.176/tools/Makefile.in
-@@ -93,6 +93,7 @@
- INSTALL_LVM_TARGETS += install_tools_static
- INSTALL_DMSETUP_TARGETS += install_dmsetup_static
- INSTALL_CMDLIB_TARGETS += install_cmdlib_static
-+ STATIC_LIBS += @PTHREAD_LIBS@
- endif
-
- LVMLIBS = $(LVMINTERNAL_LIBS) -ldevmapper
-@@ -118,6 +119,10 @@
-
- include $(top_builddir)/make.tmpl
-
-+ifeq ("@STATIC_LINK@", "yes")
-+ STATIC_LIBS += @PTHREAD_LIBS@
-+endif
-+
- device-mapper: $(TARGETS_DM)
-
- CFLAGS_dmsetup.o += $(UDEV_CFLAGS) $(EXTRA_EXEC_CFLAGS)
diff --git a/sys-fs/lvm2/files/lvm2-2.02.178-asneeded.patch b/sys-fs/lvm2/files/lvm2-2.02.178-asneeded.patch
deleted file mode 100644
index c831c6d6e60c..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.178-asneeded.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-http://bugs.gentoo.org/330255
-
-liblvm2app.so: undefined reference to `floor'
-
---- LVM2.2.02.178/liblvm/Makefile.in
-+++ LVM2.2.02.178/liblvm/Makefile.in
-@@ -43,7 +43,7 @@
- include $(top_builddir)/make.tmpl
-
- LDFLAGS += -L$(top_builddir)/lib -L$(top_builddir)/daemons/dmeventd
--LIBS += $(LVMINTERNAL_LIBS) -ldevmapper -laio
-+LIBS += $(LVMINTERNAL_LIBS) -ldevmapper -laio -lm
-
- .PHONY: install_dynamic install_static install_include install_pkgconfig
-
diff --git a/sys-fs/lvm2/files/lvm2-2.02.178-dynamic-static-ldflags.patch b/sys-fs/lvm2/files/lvm2-2.02.178-dynamic-static-ldflags.patch
deleted file mode 100644
index 0a0e73209062..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.178-dynamic-static-ldflags.patch
+++ /dev/null
@@ -1,59 +0,0 @@
---- LVM2.2.02.178/configure.ac
-+++ LVM2.2.02.178/configure.ac
-@@ -33,6 +33,7 @@
- CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym"
- # equivalent to -rdynamic
- ELDFLAGS="-Wl,--export-dynamic"
-+ STATIC_LDFLAGS="-Wl,--no-export-dynamic"
- # FIXME Generate list and use --dynamic-list=.dlopen.sym
- CLDWHOLEARCHIVE="-Wl,-whole-archive"
- CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive"
-@@ -2042,6 +2043,7 @@
- AC_SUBST(SYSTEMD_LIBS)
- AC_SUBST(SNAPSHOTS)
- AC_SUBST(STATICDIR)
-+AC_SUBST(STATIC_LDFLAGS)
- AC_SUBST(STATIC_LINK)
- AC_SUBST(TESTSUITE_DATA)
- AC_SUBST(THIN)
---- LVM2.2.02.178/daemons/dmeventd/Makefile.in
-+++ LVM2.2.02.178/daemons/dmeventd/Makefile.in
-@@ -64,7 +64,7 @@
- -o $@ $(DL_LIBS) $(DMEVENT_LIBS) $(LIBS)
-
- dmeventd.static: $(LIB_STATIC) dmeventd.o $(interfacebuilddir)/libdevmapper.a
-- $(CC) $(CFLAGS) $(LDFLAGS) -static -L. -L$(interfacebuilddir) dmeventd.o \
-+ $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L. -L$(interfacebuilddir) dmeventd.o \
- -o $@ $(DL_LIBS) $(DMEVENT_LIBS) $(LIBS) $(STATIC_LIBS)
-
- ifeq ("@PKGCONFIG@", "yes")
---- LVM2.2.02.178/make.tmpl.in
-+++ LVM2.2.02.178/make.tmpl.in
-@@ -64,6 +64,7 @@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
- LDFLAGS ?= @LDFLAGS@
-+STATIC_LDFLAGS += @STATIC_LDFLAGS@
- CLDFLAGS += @CLDFLAGS@
- ELDFLAGS += @ELDFLAGS@
- LDDEPS += @LDDEPS@
---- LVM2.2.02.178/tools/Makefile.in
-+++ LVM2.2.02.178/tools/Makefile.in
-@@ -129,7 +129,7 @@
-
- dmsetup.static: dmsetup.o $(interfacebuilddir)/libdevmapper.a
- @echo " [CC] $@"
-- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) \
-+ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) \
- -o $@ dmsetup.o -ldevmapper $(M_LIBS) $(PTHREAD_LIBS) $(STATIC_LIBS) $(LIBS)
-
- all: device-mapper
-@@ -159,7 +159,7 @@
-
- lvm.static: $(OBJECTS) lvm-static.o $(top_builddir)/lib/liblvm-internal.a $(interfacebuilddir)/libdevmapper.a
- @echo " [CC] $@"
-- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) -o $@ \
-+ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) -o $@ \
- $(OBJECTS) lvm-static.o $(LVMLIBS) $(STATIC_LIBS) $(LIBS)
-
- liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
diff --git a/sys-fs/lvm2/files/lvm2-2.02.178-example.conf.in.patch b/sys-fs/lvm2/files/lvm2-2.02.178-example.conf.in.patch
deleted file mode 100644
index 34c710d4392c..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.178-example.conf.in.patch
+++ /dev/null
@@ -1,50 +0,0 @@
---- LVM2.2.02.178/conf/example.conf.in
-+++ LVM2.2.02.178/conf/example.conf.in
-@@ -128,6 +128,9 @@
- # Example
- # Accept every block device:
- # filter = [ "a|.*/|" ]
-+ # Gentoo: we exclude /dev/nbd by default, because it makes a lot of kernel
-+ # noise when you probed while not available.
-+ filter = [ "r|/dev/nbd.*|", "a/.*/" ]
- # Reject the cdrom drive:
- # filter = [ "r|/dev/cdrom|" ]
- # Work with just loopback devices, e.g. for testing:
-@@ -704,7 +707,8 @@
- # Configuration option global/fallback_to_lvm1.
- # This setting is no longer used.
- # This configuration option has an automatic default value.
-- # fallback_to_lvm1 = 0
-+ # Gentoo: the LVM tools are a seperate package.
-+ fallback_to_lvm1 = 0
-
- # Configuration option global/format.
- # This setting is no longer used.
-@@ -1508,7 +1512,7 @@
-
- # Configuration section metadata.
- # This configuration section has an automatic default value.
--# metadata {
-+metadata {
-
- # Configuration option metadata/check_pv_device_sizes.
- # Check device sizes are not smaller than corresponding PV sizes.
-@@ -1553,7 +1557,8 @@
- #
- # This configuration option is advanced.
- # This configuration option has an automatic default value.
-- # pvmetadatacopies = 1
-+ # Gentoo: enable for data safety, but PV resize is then disabled.
-+ # pvmetadatacopies = 2
-
- # Configuration option metadata/vgmetadatacopies.
- # Number of copies of metadata to maintain for each VG.
-@@ -1608,7 +1613,7 @@
- #
- # This configuration option is advanced.
- # This configuration option does not have a default value defined.
--# }
-+}
-
- # Configuration section report.
- # LVM report command output formatting.
diff --git a/sys-fs/lvm2/files/lvm2-2.02.178-static-pkgconfig-libs.patch b/sys-fs/lvm2/files/lvm2-2.02.178-static-pkgconfig-libs.patch
deleted file mode 100644
index 989b3082576d..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.178-static-pkgconfig-libs.patch
+++ /dev/null
@@ -1,102 +0,0 @@
---- LVM2.2.02.178/configure.ac
-+++ LVM2.2.02.178/configure.ac
-@@ -1238,6 +1238,7 @@
- PKG_CHECK_MODULES(BLKID, blkid >= 2.24,
- [ BLKID_WIPING=yes
- BLKID_PC="blkid"
-+ BLKID_STATIC_LIBS=`$PKG_CONFIG --static --libs $BLKID_PC`
- DEFAULT_USE_BLKID_WIPING=1
- AC_DEFINE([BLKID_WIPING_SUPPORT], 1, [Define to 1 to use libblkid detection of signatures when wiping.])
- ], [if test "$BLKID_WIPING" = maybe; then
-@@ -1286,6 +1287,7 @@
- if test "$UDEV_SYNC" = yes; then
- pkg_config_init
- PKG_CHECK_MODULES(UDEV, libudev >= 143, [UDEV_PC="libudev"])
-+ UDEV_STATIC_LIBS=`$PKG_CONFIG --static --libs libudev`
- AC_DEFINE([UDEV_SYNC_SUPPORT], 1, [Define to 1 to enable synchronisation with udev processing.])
-
- AC_CHECK_LIB(udev, udev_device_get_is_initialized, AC_DEFINE([HAVE_LIBUDEV_UDEV_DEVICE_GET_IS_INITIALIZED], 1,
-@@ -1564,19 +1566,32 @@
- if test "$SELINUX" = yes; then
- AC_CHECK_LIB([sepol], [sepol_check_context], [
- AC_DEFINE([HAVE_SEPOL], 1, [Define to 1 if sepol_check_context is available.])
-- SELINUX_LIBS="-lsepol"])
-+ SEPOL_LIBS="-lsepol"])
-+
-+ dnl -- init pkgconfig if required
-+ if test x$PKGCONFIG_INIT != x1; then
-+ pkg_config_init
-+ fi
-+ PKG_CHECK_MODULES(SELINUX, libselinux, [
-+ SELINUX_PC="libselinux"
-+ SELINUX_STATIC_LIBS=`$PKG_CONFIG --static --libs libselinux`
-+ SELINUX_LIBS="$SELINUX_LIBS $SEPOL_LIBS"
-+ AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-+ ],[
-+ dnl -- old non-pkgconfig method, is buggy with static builds
-
- AC_CHECK_LIB([selinux], [is_selinux_enabled], [
- AC_CHECK_HEADERS([selinux/selinux.h],, hard_bailout)
- AC_CHECK_HEADERS([selinux/label.h])
- AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-- SELINUX_LIBS="-lselinux $SELINUX_LIBS"
-+ SELINUX_LIBS="-lselinux $SEPOL_LIBS"
- SELINUX_PC="libselinux"
- HAVE_SELINUX=yes ], [
- AC_MSG_WARN(Disabling selinux)
- SELINUX_LIBS=
- SELINUX_PC=
- HAVE_SELINUX=no ])
-+ ])
- fi
-
- ################################################################################
-@@ -1927,6 +1942,7 @@
- ################################################################################
- AC_SUBST(APPLIB)
- AC_SUBST(AWK)
-+AC_SUBST(BLKID_STATIC_LIBS)
- AC_SUBST(BLKID_PC)
- AC_SUBST(BUILD_CMIRRORD)
- AC_SUBST(BUILD_DMEVENTD)
-@@ -2037,6 +2053,7 @@
- AC_SUBST(SALCK_LIBS)
- AC_SUBST(SBINDIR)
- AC_SUBST(SELINUX_LIBS)
-+AC_SUBST(SELINUX_STATIC_LIBS)
- AC_SUBST(SELINUX_PC)
- AC_SUBST(SYSCONFDIR)
- AC_SUBST(SYSTEMD_LIBS)
-@@ -2053,6 +2070,7 @@
- AC_SUBST(CACHE_DUMP_CMD)
- AC_SUBST(CACHE_REPAIR_CMD)
- AC_SUBST(CACHE_RESTORE_CMD)
-+AC_SUBST(UDEV_STATIC_LIBS)
- AC_SUBST(UDEV_PC)
- AC_SUBST(UDEV_RULES)
- AC_SUBST(UDEV_SYNC)
---- LVM2.2.02.178/make.tmpl.in
-+++ LVM2.2.02.178/make.tmpl.in
-@@ -59,7 +59,7 @@
-
- LIBS = @LIBS@
- # Extra libraries always linked with static binaries
--STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS)
-+STATIC_LIBS = $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS)
- DEFS += @DEFS@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
-@@ -75,10 +75,13 @@
- PTHREAD_LIBS = @PTHREAD_LIBS@
- READLINE_LIBS = @READLINE_LIBS@
- SELINUX_LIBS = @SELINUX_LIBS@
-+SELINUX_STATIC_LIBS = @SELINUX_STATIC_LIBS@
- UDEV_CFLAGS = @UDEV_CFLAGS@
- UDEV_LIBS = @UDEV_LIBS@
-+UDEV_STATIC_LIBS = @UDEV_STATIC_LIBS@
- BLKID_CFLAGS = @BLKID_CFLAGS@
- BLKID_LIBS = @BLKID_LIBS@
-+BLKID_STATIC_LIBS = @BLKID_STATIC_LIBS@
- SYSTEMD_LIBS = @SYSTEMD_LIBS@
- VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
-
diff --git a/sys-fs/lvm2/files/lvm2-2.02.184-allow-reading-metadata-with-invalid-creation_time.patch b/sys-fs/lvm2/files/lvm2-2.02.184-allow-reading-metadata-with-invalid-creation_time.patch
deleted file mode 100644
index 34968c7c2eb7..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.184-allow-reading-metadata-with-invalid-creation_time.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From a397b69ce33d811aba7d64d54b5c8e0efb86fd15 Mon Sep 17 00:00:00 2001
-From: Zdenek Kabelac <zkabelac@redhat.com>
-Date: Fri, 10 May 2019 14:40:11 +0200
-Subject: [PATCH] metadata: allow reading metadata with invalid creation_time
-
-lvm2 till version 2.02.169 (commit 78d004efa8a1809cea68283e6204edfa9d7c1091)
-was printing invalid creation_time argument into metadata on 32bit arch.
-
-However with commit ba9820b14223b731125c83dbc9709aa44fdcdbf1 we started
-to properly validate all input numbers and thus we refused to accept
-invalid metadata with 'garbage' string - but this results in the
-situation where metadata produced on older lvm2 on 32 bit architecture
-will become unreadable after upgrade.
-
-To fix this case - extend libdm parser in a way, that whenever we
-find error integer value, we also check if the parsed value is not for
-creation_time node and in this case we let the metadata pass through
-with made-up date 2018-05-24 (release date of 2.02.169).
----
- libdm/libdm-config.c | 18 +++++++++++++++---
- 1 file changed, 15 insertions(+), 3 deletions(-)
-
-diff --git a/libdm/libdm-config.c b/libdm/libdm-config.c
-index 3f0d2510e..382f86bbf 100644
---- a/libdm/libdm-config.c
-+++ b/libdm/libdm-config.c
-@@ -51,6 +51,8 @@ struct parser {
-
- struct dm_pool *mem;
- int no_dup_node_check; /* whether to disable dup node checking */
-+ const char *key; /* last obtained key */
-+ unsigned ignored_creation_time;
- };
-
- struct config_output {
-@@ -176,7 +178,7 @@ static int _do_dm_config_parse(struct dm_config_tree *cft, const char *start, co
- /* TODO? if (start == end) return 1; */
-
- struct parser *p;
-- if (!(p = dm_pool_alloc(cft->mem, sizeof(*p))))
-+ if (!(p = dm_pool_zalloc(cft->mem, sizeof(*p))))
- return_0;
-
- p->mem = cft->mem;
-@@ -615,6 +617,7 @@ static struct dm_config_node *_section(struct parser *p, struct dm_config_node *
- match(TOK_SECTION_E);
- } else {
- match(TOK_EQ);
-+ p->key = root->key;
- if (!(value = _value(p)))
- return_NULL;
- if (root->v)
-@@ -682,8 +685,17 @@ static struct dm_config_value *_type(struct parser *p)
- errno = 0;
- v->v.i = strtoll(p->tb, NULL, 0); /* FIXME: check error */
- if (errno) {
-- log_error("Failed to read int token.");
-- return NULL;
-+ if (errno == ERANGE && p->key &&
-+ strcmp("creation_time", p->key) == 0) {
-+ /* Due to a bug in some older 32bit builds (<2.02.169),
-+ * lvm was able to produce invalid creation_time string */
-+ v->v.i = 1527120000; /* Pick 2018-05-24 day instead */
-+ if (!p->ignored_creation_time++)
-+ log_warn("WARNING: Invalid creation_time found in metadata (repaired with next metadata update).");
-+ } else {
-+ log_error("Failed to read int token.");
-+ return NULL;
-+ }
- }
- match(TOK_INT);
- break;
diff --git a/sys-fs/lvm2/files/lvm2-2.02.184-dmeventd-no-idle-exit.patch b/sys-fs/lvm2/files/lvm2-2.02.184-dmeventd-no-idle-exit.patch
deleted file mode 100644
index c80bd2ba2bec..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.184-dmeventd-no-idle-exit.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From: "Robin H. Johnson" <robbat2@gentoo.org>
-Date: Wed, 17 Apr 2019 06:54:27 +0000
-Subject: [PATCH] dmeventd configurable idle exit time
-
-dmeventd nominally exits after 1 hour of idle time. There are use cases for
-this, esp. with socket activation, but also cases where users don't expect
-dmeventd to exit.
-
-Provide a tuning knob via environment variable, DMEVENTD_IDLE_EXIT_TIMEOUT,
-that can be -1 to not exit, or a configurable time for different idle exit.
-
-Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
-Fixes: https://bugs.gentoo.org/682556
-
-diff -Nuar LVM2.2.02.184.orig/daemons/dmeventd/dmeventd.c LVM2.2.02.184/daemons/dmeventd/dmeventd.c
---- LVM2.2.02.184.orig/daemons/dmeventd/dmeventd.c 2019-03-22 03:14:59.000000000 -0700
-+++ LVM2.2.02.184/daemons/dmeventd/dmeventd.c 2019-04-17 00:18:23.535029906 -0700
-@@ -2158,6 +2158,18 @@
- .server_path = DM_EVENT_FIFO_SERVER
- };
- time_t now, idle_exit_timeout = DMEVENTD_IDLE_EXIT_TIMEOUT;
-+
-+ /* Provide a basic way to config the idle timeout */
-+ char* idle_exit_timeout_env = getenv("DMEVENTD_IDLE_EXIT_TIMEOUT") ? : NULL;
-+ if(NULL != idle_exit_timeout_env) {
-+ char* endptr;
-+ idle_exit_timeout = strtol(idle_exit_timeout_env, &endptr, 10);
-+ if (errno == ERANGE || *endptr != '\0') {
-+ fprintf(stderr, "DMEVENTD_IDLE_EXIT_TIMEOUT: bad time input\n");
-+ exit(EXIT_FAILURE);
-+ }
-+ }
-+
- opterr = 0;
- optind = 0;
-
-@@ -2253,7 +2265,7 @@
- _process_initial_registrations();
-
- for (;;) {
-- if (_idle_since) {
-+ if (_idle_since || _exit_now) {
- if (_exit_now) {
- if (_exit_now == DM_SCHEDULED_EXIT)
- break; /* Only prints shutdown message */
-@@ -2262,7 +2274,7 @@
- (long) (time(NULL) - _idle_since));
- break;
- }
-- if (idle_exit_timeout) {
-+ if (idle_exit_timeout && idle_exit_timeout > 0) {
- now = time(NULL);
- if (now < _idle_since)
- _idle_since = now; /* clock change? */
-diff -Nuar LVM2.2.02.184.orig/man/dmeventd.8_main LVM2.2.02.184/man/dmeventd.8_main
---- LVM2.2.02.184.orig/man/dmeventd.8_main 2019-03-22 03:15:00.000000000 -0700
-+++ LVM2.2.02.184/man/dmeventd.8_main 2019-04-17 00:17:46.076023638 -0700
-@@ -143,6 +143,10 @@
- Variable is set by thin plugin to prohibit recursive interation
- with dmeventd by any executed lvm2 command from
- a thin_command environment.
-+.TP
-+.B DMEVENTD_IDLE_EXIT_TIMEOUT
-+Configure the dmeventd idle exit timeout behavior, value in seconds. Default
-+is 3600 (1 hour). -1 means do not exit.
- .
- .SH SEE ALSO
- .
diff --git a/sys-fs/lvm2/files/lvm2-2.02.186-udev_remove_unsupported_option.patch b/sys-fs/lvm2/files/lvm2-2.02.186-udev_remove_unsupported_option.patch
deleted file mode 100644
index f895e1921e09..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.186-udev_remove_unsupported_option.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From f98f79a047dd1c4980008e0ed6c9ad4e18596cdc Mon Sep 17 00:00:00 2001
-From: Peter Rajnoha <prajnoha@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
----
- udev/11-dm-lvm.rules.in | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/udev/11-dm-lvm.rules.in b/udev/11-dm-lvm.rules.in
-index 91cb991df9..7c589943b7 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.24.0
-
diff --git a/sys-fs/lvm2/files/lvm2-2.02.63-always-make-static-libdm.patch b/sys-fs/lvm2/files/lvm2-2.02.63-always-make-static-libdm.patch
deleted file mode 100644
index 5ddcb4e56711..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.63-always-make-static-libdm.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -Nuar --exclude '*~' LVM2.2.02.63.orig/daemons/dmeventd/Makefile.in LVM2.2.02.63/daemons/dmeventd/Makefile.in
---- LVM2.2.02.63.orig/daemons/dmeventd/Makefile.in 2010-04-09 14:42:48.000000000 -0700
-+++ LVM2.2.02.63/daemons/dmeventd/Makefile.in 2010-04-19 11:53:27.000000000 -0700
-@@ -28,11 +28,12 @@
- INSTALL_LIB_TARGETS = install_lib_dynamic
-
- LIB_NAME = libdevmapper-event
-+LIB_STATIC = $(LIB_NAME).a
-+INSTALL_LIB_TARGETS += install_lib_static
-+TARGETS += $(LIB_STATIC)
- ifeq ("@STATIC_LINK@", "yes")
-- LIB_STATIC = $(LIB_NAME).a
-- TARGETS += $(LIB_STATIC) dmeventd.static
-+ TARGETS += dmeventd.static
- INSTALL_DMEVENTD_TARGETS += install_dmeventd_static
-- INSTALL_LIB_TARGETS += install_lib_static
- endif
-
- LIB_VERSION = $(LIB_VERSION_DM)
-diff -Nuar --exclude '*~' LVM2.2.02.63.orig/libdm/Makefile.in LVM2.2.02.63/libdm/Makefile.in
---- LVM2.2.02.63.orig/libdm/Makefile.in 2010-04-09 14:42:51.000000000 -0700
-+++ LVM2.2.02.63/libdm/Makefile.in 2010-04-19 11:52:20.000000000 -0700
-@@ -34,8 +34,8 @@
-
- INCLUDES = -I$(srcdir)/$(interface) -I$(srcdir)
-
--ifeq ("@STATIC_LINK@", "yes")
- LIB_STATIC = $(interface)/libdevmapper.a
-+ifeq ("@STATIC_LINK@", "yes")
- endif
-
- LIB_SHARED = $(interface)/libdevmapper.$(LIB_SUFFIX)
-@@ -63,8 +63,8 @@
-
- INSTALL_TYPE = install_dynamic
-
--ifeq ("@STATIC_LINK@", "yes")
- INSTALL_TYPE += install_static
-+ifeq ("@STATIC_LINK@", "yes")
- endif
-
- ifeq ("@PKGCONFIG@", "yes")
diff --git a/sys-fs/lvm2/lvm2-2.02.188-r3.ebuild b/sys-fs/lvm2/lvm2-2.02.188-r3.ebuild
deleted file mode 100644
index e6fd683ff142..000000000000
--- a/sys-fs/lvm2/lvm2-2.02.188-r3.ebuild
+++ /dev/null
@@ -1,308 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-TMPFILES_OPTIONAL=1
-inherit autotools linux-info systemd toolchain-funcs tmpfiles udev flag-o-matic
-
-DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
-HOMEPAGE="https://sourceware.org/lvm2/"
-SRC_URI="ftp://sourceware.org/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
- ftp://sourceware.org/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="readline static static-libs systemd lvm2create-initrd sanlock selinux +udev +thin device-mapper-only"
-REQUIRED_USE="device-mapper-only? ( !lvm2create-initrd !sanlock !thin )
- static? ( !systemd !udev )
- static-libs? ( !udev )
- systemd? ( udev )"
-
-DEPEND_COMMON="
- dev-libs/libaio[static-libs?]
- static? ( dev-libs/libaio[static-libs] )
- !static? ( dev-libs/libaio[static-libs?] )
- readline? ( sys-libs/readline:0= )
- sanlock? ( sys-cluster/sanlock )
- systemd? ( >=sys-apps/systemd-205:0= )
- udev? ( >=virtual/libudev-208:= )"
-# /run is now required for locking during early boot. /var cannot be assumed to
-# be available -- thus, pull in recent enough baselayout for /run.
-# This version of LVM is incompatible with cryptsetup <1.1.2.
-RDEPEND="${DEPEND_COMMON}
- >=sys-apps/baselayout-2.2
- >=sys-apps/util-linux-2.16
- lvm2create-initrd? ( sys-apps/makedev )
- !device-mapper-only? ( virtual/tmpfiles )
- thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
-# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
-DEPEND="${DEPEND_COMMON}
- static? (
- selinux? ( sys-libs/libselinux[static-libs] )
- >=sys-apps/util-linux-2.16[static-libs]
- )"
-BDEPEND="
- sys-devel/autoconf-archive
- virtual/pkgconfig
-"
-
-S="${WORKDIR}/${PN/lvm/LVM}.${PV}"
-
-PATCHES=(
- # Gentoo specific modification(s):
- "${FILESDIR}"/${PN}-2.02.178-example.conf.in.patch
-
- # For upstream -- review and forward:
- "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
- "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
- "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
- "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
- "${FILESDIR}"/${PN}-2.02.178-asneeded.patch # -Wl,--as-needed
- "${FILESDIR}"/${PN}-2.02.178-dynamic-static-ldflags.patch #332905
- "${FILESDIR}"/${PN}-2.02.178-static-pkgconfig-libs.patch #370217, #439414 + blkid
- "${FILESDIR}"/${PN}-2.02.176-pthread-pkgconfig.patch #492450
- "${FILESDIR}"/${PN}-2.02.171-static-libm.patch #617756
- "${FILESDIR}"/${PN}-2.02.166-HPPA-no-O_DIRECT.patch #657446
- #"${FILESDIR}"/${PN}-2.02.145-mkdev.patch #580062 # Merged upstream
- "${FILESDIR}"/${PN}-2.02.184-dmeventd-no-idle-exit.patch
- #"${FILESDIR}"/${PN}-2.02.184-allow-reading-metadata-with-invalid-creation_time.patch #682380 # merged upstream
- "${FILESDIR}"/${PN}-2.02.184-mksh_build.patch #686652
- "${FILESDIR}"/${PN}-2.02.186-udev_remove_unsupported_option.patch #700160
-)
-
-pkg_setup() {
- local CONFIG_CHECK="~SYSVIPC"
-
- if use udev; then
- local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
- if linux_config_exists; then
- local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
- if [[ -n "${uevent_helper_path}" ]] && [[ "${uevent_helper_path}" != '""' ]]; then
- ewarn "It's recommended to set an empty value to the following kernel config option:"
- ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
- fi
- fi
- fi
-
- check_extra_config
-
- # 1. Genkernel no longer copies /sbin/lvm blindly.
- if use static; then
- elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
- elog "their static versions. If you need the static binaries,"
- elog "you must append .static to the filename!"
- fi
-}
-
-src_prepare() {
- default
-
- sed -i \
- -e "1iAR = $(tc-getAR)" \
- -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
- make.tmpl.in || die #444082
-
- sed -i -e '/FLAG/s:-O2::' configure{.ac,} || die #480212
-
- if use udev && ! use device-mapper-only; then
- sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196
- elog "Notice that \"use_lvmetad\" setting is enabled with USE=\"udev\" in"
- elog "/etc/lvm/lvm.conf, which will require restart of udev, lvm, and lvmetad"
- elog "if it was previously disabled."
- fi
-
- sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
-
- # Don't install thin man page when not requested
- if ! use thin ; then
- sed -i -e 's/^\(MAN7+=.*\) $(LVMTHINMAN) \(.*\)$/\1 \2/' man/Makefile.in || die
- fi
-
- eautoreconf
-}
-
-src_configure() {
- filter-flags -flto
- local myeconfargs=()
-
- # Most of this package does weird stuff.
- # The build options are tristate, and --without is NOT supported
- # options: 'none', 'internal', 'shared'
- myeconfargs+=(
- $(use_enable !device-mapper-only dmfilemapd)
- $(use_enable !device-mapper-only dmeventd)
- $(use_enable !device-mapper-only cmdlib)
- $(use_enable !device-mapper-only applib)
- $(use_enable !device-mapper-only fsadm)
- $(use_enable !device-mapper-only lvmetad)
- $(use_enable !device-mapper-only lvmpolld)
- $(usex device-mapper-only --disable-udev-systemd-background-jobs '')
-
- # This only causes the .static versions to become available
- $(usex static --enable-static_link '')
-
- # dmeventd requires mirrors to be internal, and snapshot available
- # so we cannot disable them
- --with-mirrors="$(usex device-mapper-only none internal)"
- --with-snapshots="$(usex device-mapper-only none internal)"
-
- # disable O_DIRECT support on hppa, breaks pv detection (#99532)
- $(usex hppa --disable-o_direct '')
- )
-
- if use thin; then
- myeconfargs+=( --with-thin=internal --with-cache=internal )
- local texec
- for texec in check dump repair restore; do
- myeconfargs+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
- myeconfargs+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
- done
- else
- myeconfargs+=( --with-thin=none --with-cache=none )
- fi
-
- myeconfargs+=( --with-clvmd=none --with-cluster=none )
-
- myeconfargs+=(
- $(use_enable readline)
- $(use_enable selinux)
- --enable-pkgconfig
- --with-confdir="${EPREFIX}"/etc
- --exec-prefix="${EPREFIX}"
- --sbindir="${EPREFIX}/sbin"
- --with-staticdir="${EPREFIX}"/sbin
- --libdir="${EPREFIX}/$(get_libdir)"
- --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)"
- --with-default-dm-run-dir=/run
- --with-default-run-dir=/run/lvm
- --with-default-locking-dir=/run/lock/lvm
- --with-default-pid-dir=/run
- $(use_enable udev udev_rules)
- $(use_enable udev udev_sync)
- $(use_with udev udevdir "$(get_udevdir)"/rules.d)
- $(use_enable sanlock lvmlockd-sanlock)
- $(use_enable systemd udev-systemd-background-jobs)
- $(use_enable systemd notify-dbus)
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
- CLDFLAGS="${LDFLAGS}"
- )
- # Hard-wire this to bash as some shells (dash) don't know
- # "-o pipefail" #682404
- CONFIG_SHELL="/bin/bash" \
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- pushd include >/dev/null
- emake V=1
- popd >/dev/null
-
- if use device-mapper-only ; then
- emake V=1 device-mapper
- else
- emake V=1
- emake V=1 CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
- fi
-}
-
-src_test() {
- einfo "Tests are disabled because of device-node mucking, if you want to"
- einfo "run tests, compile the package and see ${S}/tests"
-}
-
-src_install() {
- local inst
- local INSTALL_TARGETS=( install install_tmpfiles_configuration )
- # install systemd related files only when requested, bug #522430
- use systemd && INSTALL_TARGETS+=( SYSTEMD_GENERATOR_DIR="$(systemd_get_systemgeneratordir)" install_systemd_units install_systemd_generators )
- use device-mapper-only && INSTALL_TARGETS=( install_device-mapper )
- emake V=1 DESTDIR="${D}" "${INSTALL_TARGETS[@]}"
-
- newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
- newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
-
- if use !device-mapper-only ; then
- newinitd "${FILESDIR}"/dmeventd.initd-2.02.184-r2 dmeventd
- newinitd "${FILESDIR}"/lvm.rc-2.02.187 lvm
- newconfd "${FILESDIR}"/lvm.confd-2.02.184-r3 lvm
- if ! use udev ; then
- # We keep the variable but remove udev from it.
- sed -r -i \
- -e '/^rc_need=/s/\<udev\>//g' \
- "${ED}/etc/conf.d/lvm" || die "Could not drop udev from rc_need"
- fi
-
- newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
- newinitd "${FILESDIR}"/lvmetad.initd-2.02.116-r3 lvmetad
- newinitd "${FILESDIR}"/lvmpolld.initd-2.02.183 lvmpolld
- fi
-
- if use sanlock; then
- newinitd "${FILESDIR}"/lvmlockd.initd-2.02.166-r1 lvmlockd
- fi
-
- if use static-libs; then
- dolib.a libdm/ioctl/libdevmapper.a
- if use !device-mapper-only; then
- # depends on lvmetad
- dolib.a libdaemon/client/libdaemonclient.a #462908
- # depends on dmeventd
- dolib.a daemons/dmeventd/libdevmapper-event.a
- fi
- else
- rm -f "${ED}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
- fi
-
- if use lvm2create-initrd; then
- dosbin scripts/lvm2create_initrd/lvm2create_initrd
- doman scripts/lvm2create_initrd/lvm2create_initrd.8
- newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
- fi
-
- insinto /etc
- doins "${FILESDIR}"/dmtab
-
- dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
-}
-
-pkg_postinst() {
- if ! use device-mapper-only; then
- tmpfiles_process lvm2.conf
- fi
-
- if use udev; then
- udev_reload
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]]; then
- # This is a new installation
- ewarn "Make sure the \"lvm\" init script is in the runlevels:"
- ewarn "# rc-update add lvm boot"
- ewarn
- ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
- ewarn "to enable lvm autoactivation and metadata caching."
- fi
-
- if use udev && [[ -d /run ]] ; then
- local permission_run_expected="drwxr-xr-x"
- local permission_run=$(stat -c "%A" /run)
- if [[ "${permission_run}" != "${permission_run_expected}" ]] ; then
- ewarn "Found the following problematic permissions:"
- ewarn ""
- ewarn " ${permission_run} /run"
- ewarn ""
- ewarn "Expected:"
- ewarn ""
- ewarn " ${permission_run_expected} /run"
- ewarn ""
- ewarn "This is known to be causing problems for UDEV-enabled LVM services."
- fi
- fi
-}
-
-pkg_postrm() {
- if use udev && [[ -z ${REPLACED_BY_VERSION} ]]; then
- udev_reload
- fi
-}
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2022-10-27 17:13 Robin H. Johnson
0 siblings, 0 replies; 29+ messages in thread
From: Robin H. Johnson @ 2022-10-27 17:13 UTC (permalink / raw
To: gentoo-commits
commit: f85aba8b222771e8cc87a6e75d0220cdb2717f78
Author: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 27 17:13:09 2022 +0000
Commit: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Thu Oct 27 17:13:23 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f85aba8b
sys-fs/lvm2: fix hardcoded readelf
Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>
Close: https://bugs.gentoo.org/840628
sys-fs/lvm2/files/lvm2-2.03.16-readelf.patch | 25 +++++++++++++++++++++++++
sys-fs/lvm2/lvm2-2.03.16.ebuild | 3 +++
2 files changed, 28 insertions(+)
diff --git a/sys-fs/lvm2/files/lvm2-2.03.16-readelf.patch b/sys-fs/lvm2/files/lvm2-2.03.16-readelf.patch
new file mode 100644
index 000000000000..b4d60c5825db
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.16-readelf.patch
@@ -0,0 +1,25 @@
+diff -Nuar LVM2.2.03.16.orig/libdm/Makefile.in LVM2.2.03.16/libdm/Makefile.in
+--- LVM2.2.03.16.orig/libdm/Makefile.in 2022-05-18 09:24:20.000000000 -0700
++++ LVM2.2.03.16/libdm/Makefile.in 2022-10-27 10:09:29.283631020 -0700
+@@ -59,6 +59,10 @@
+
+ PROGS_CFLAGS = $(UDEV_CFLAGS)
+
++ifeq ($(strip $(READELF)),)
++READELF := readelf
++endif
++
+ device-mapper: $(TARGETS)
+
+ dm-tools.device-mapper: device-mapper
+@@ -71,8 +75,8 @@
+ # also the older symbol is built-in
+ .symver_check: $(LIB_SHARED)
+ @echo " [CHECK] $<"
+- $(Q) if readelf -Ws $< | grep -q dm_stats_create_region@@; then \
+- SYM=$$(readelf -Ws $< | grep dm_stats_create_region@DM_1_02_106); \
++ $(Q) if $(READELF) -Ws $< | grep -q dm_stats_create_region@@; then \
++ SYM=$$( $(READELF) -Ws $< | grep dm_stats_create_region@DM_1_02_106); \
+ if test -n "$$SYM"; then touch $@; \
+ else echo >&2 "Missing versioned symbols in $<"; false; fi; \
+ else touch $@; fi
diff --git a/sys-fs/lvm2/lvm2-2.03.16.ebuild b/sys-fs/lvm2/lvm2-2.03.16.ebuild
index 30a41a0a959c..d3922e5152cf 100644
--- a/sys-fs/lvm2/lvm2-2.03.16.ebuild
+++ b/sys-fs/lvm2/lvm2-2.03.16.ebuild
@@ -69,6 +69,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-2.03.14-r1-fopen-to-freopen.patch
"${FILESDIR}"/${PN}-2.03.14-r1-mallinfo.patch
"${FILESDIR}"/${PN}-2.03.14-freopen_n2.patch
+ "${FILESDIR}"/${PN}-2.03.16-readelf.patch
)
pkg_setup() {
@@ -162,6 +163,7 @@ src_configure() {
myeconfargs+=( --with-thin=none --with-cache=none )
fi
+ export READELF="$(tc-getREADELF)"
myeconfargs+=(
$(use_enable readline)
$(use_enable selinux)
@@ -184,6 +186,7 @@ src_configure() {
$(use_enable systemd notify-dbus)
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
CLDFLAGS="${LDFLAGS}"
+ READELF="${READELF}"
)
# Hard-wire this to bash as some shells (dash) don't know
# "-o pipefail" #682404
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2022-11-18 17:59 Sam James
0 siblings, 0 replies; 29+ messages in thread
From: Sam James @ 2022-11-18 17:59 UTC (permalink / raw
To: gentoo-commits
commit: 39e348fad976c54d3980c2149de6365e8d035a4d
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 18 17:59:02 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Nov 18 17:59:02 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39e348fa
sys-fs/lvm2: fix strerror_r check for musl
Closes: https://bugs.gentoo.org/869404
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../lvm2/files/lvm2-2.03.16-musl-strerror_r.patch | 23 ++++++++++++++++++++++
sys-fs/lvm2/lvm2-2.03.16-r2.ebuild | 1 +
2 files changed, 24 insertions(+)
diff --git a/sys-fs/lvm2/files/lvm2-2.03.16-musl-strerror_r.patch b/sys-fs/lvm2/files/lvm2-2.03.16-musl-strerror_r.patch
new file mode 100644
index 000000000000..d485e75ca811
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.16-musl-strerror_r.patch
@@ -0,0 +1,23 @@
+From a06e401bd0479f25631bdfeffaa01d150e5efe59 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Fri, 18 Nov 2022 17:57:34 +0000
+Subject: [PATCH] Fix strerror_r check for musl
+
+We can't assume that strerror_r returns char* just because _GNU_SOURCE is defined. We already call the appropriate autoconf test, so let's use its result
+(STRERROR_R_CHAR_P).
+
+Note that in configure, _GNU_SOURCE is always set, but we add a defined guard just in case for futureproofing.
+
+Bug: https://bugs.gentoo.org/869404
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/daemons/lvmpolld/lvmpolld-core.c
++++ b/daemons/lvmpolld/lvmpolld-core.c
+@@ -52,7 +52,7 @@ static pthread_key_t key;
+
+ static const char *_strerror_r(int errnum, struct lvmpolld_thread_data *data)
+ {
+-#ifdef _GNU_SOURCE
++#if defined(_GNU_SOURCE) && defined(STRERROR_R_CHAR_P)
+ return strerror_r(errnum, data->buf, sizeof(data->buf)); /* never returns NULL */
+ #elif (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)
+ return strerror_r(errnum, data->buf, sizeof(data->buf)) ? "" : data->buf;
diff --git a/sys-fs/lvm2/lvm2-2.03.16-r2.ebuild b/sys-fs/lvm2/lvm2-2.03.16-r2.ebuild
index 2397a59911fa..dca72ccfd4a0 100644
--- a/sys-fs/lvm2/lvm2-2.03.16-r2.ebuild
+++ b/sys-fs/lvm2/lvm2-2.03.16-r2.ebuild
@@ -73,6 +73,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-2.03.14-r1-mallinfo.patch
"${FILESDIR}"/${PN}-2.03.14-freopen_n2.patch
"${FILESDIR}"/${PN}-2.03.16-readelf.patch
+ "${FILESDIR}"/${PN}-2.03.16-musl-strerror_r.patch
)
QA_CONFIGURE_OPTIONS="--disable-static"
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2022-11-19 21:05 David Seifert
0 siblings, 0 replies; 29+ messages in thread
From: David Seifert @ 2022-11-19 21:05 UTC (permalink / raw
To: gentoo-commits
commit: e7148c5f08552659798d8e85c45293c2bdad70d4
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 19 21:04:24 2022 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Nov 19 21:04:24 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e7148c5f
sys-fs/lvm2: add 2.03.17
Signed-off-by: David Seifert <soap <AT> gentoo.org>
sys-fs/lvm2/Manifest | 1 +
.../lvm2-2.03.17-dynamic-static-ldflags.patch | 50 ++++
.../lvm2/files/lvm2-2.03.17-example.conf.in.patch | 42 +++
sys-fs/lvm2/files/lvm2-2.03.17-locale-muck.patch | 11 +
.../files/lvm2-2.03.17-pthread-pkgconfig.patch | 31 +++
sys-fs/lvm2/files/lvm2-2.03.17-readelf.patch | 56 ++++
sys-fs/lvm2/lvm2-2.03.17.ebuild | 303 +++++++++++++++++++++
7 files changed, 494 insertions(+)
diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest
index 27b129ed6b96..d460e037d4b5 100644
--- a/sys-fs/lvm2/Manifest
+++ b/sys-fs/lvm2/Manifest
@@ -1,2 +1,3 @@
DIST LVM2.2.03.14.tgz 2639538 BLAKE2B 806f5e9cb76a05febef6f8ce8cfc42c92927b9538f62a21029c5ffc426a4fd7c3f32709be08dbd8028b53891b1075d1d13cb3b0d7b1815071ee8eb927d8f3ed3 SHA512 6a93bed1d5cf36f0f48d4d413d028b0e480cd4fc20e25d173770a892f265d2a0cc68d01a720b1513469953649e989532cd0c45f9538f92a4190eb3dc4555857d
DIST LVM2.2.03.16.tgz 2658805 BLAKE2B 05c6089adff0c61ff1281a05a917f75480ad4acc28cb0214a42589d206a61168f68de07891b9af9814ed7998f16aff6f29ba29b85b23de36f38bf3b5f27802c1 SHA512 084ba4080537359458db936637fc7f83bb9bfcf2de9f3660882551b5c31c7e9900c7d381b238ce1bb7629942c740c121f0dea5e404c302d31ed028b5c65efaa5
+DIST LVM2.2.03.17.tgz 2726793 BLAKE2B 425e52fe2d7832f8440203d2b6ffc3a097903abea8be07bbbf4864001d5f55083954e561a92b0fe4fc467533e465af3958b25cf33d2693f50f077dc3d9b74bd2 SHA512 ce9f4c10a7e89b397fa021098976117c062227da4f25996296dd3678c0aeb826edf9b7e4f5d3992f42156865ae47cb98671ec37a26868710174a473b42cc70a9
diff --git a/sys-fs/lvm2/files/lvm2-2.03.17-dynamic-static-ldflags.patch b/sys-fs/lvm2/files/lvm2-2.03.17-dynamic-static-ldflags.patch
new file mode 100644
index 000000000000..e3228945a325
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.17-dynamic-static-ldflags.patch
@@ -0,0 +1,50 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -32,6 +32,7 @@
+ linux*)
+ # equivalent to -rdynamic
+ ELDFLAGS="-Wl,--export-dynamic"
++ STATIC_LDFLAGS="-Wl,--no-export-dynamic"
+ # FIXME Generate list and use --dynamic-list=.dlopen.sym
+ CLDWHOLEARCHIVE="-Wl,-whole-archive"
+ CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive"
+@@ -1945,6 +1946,7 @@
+ AC_SUBST(SYSCONFDIR)
+ AC_SUBST(SNAPSHOTS)
+ AC_SUBST(STATICDIR)
++AC_SUBST(STATIC_LDFLAGS)
+ AC_SUBST(STATIC_LINK)
+ AC_SUBST(TESTSUITE_DATA)
+ AC_SUBST(THIN)
+--- a/daemons/dmeventd/Makefile.in
++++ b/daemons/dmeventd/Makefile.in
+@@ -76,7 +76,7 @@
+
+ dmeventd.static: $(LIB_STATIC) dmeventd.o
+ @echo " [CC] $@"
+- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static dmeventd.o \
++ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static dmeventd.o \
+ -o $@ $(DL_LIBS) $(DMEVENT_LIBS) $(LIBS) $(STATIC_LIBS)
+
+ ifeq ("@PKGCONFIG@", "yes")
+--- a/make.tmpl.in
++++ b/make.tmpl.in
+@@ -64,6 +64,7 @@
+ # FIXME set this only where it's needed, not globally?
+ CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
+ LDFLAGS ?= @LDFLAGS@
++STATIC_LDFLAGS += @STATIC_LDFLAGS@
+ CLDFLAGS += @CLDFLAGS@
+ ELDFLAGS += @ELDFLAGS@
+ LDDEPS += @LDDEPS@
+--- a/tools/Makefile.in
++++ b/tools/Makefile.in
+@@ -137,7 +137,7 @@
+
+ lvm.static: $(OBJECTS) lvm-static.o $(LVMINTERNAL_LIBS)
+ @echo " [CC] $@"
+- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) \
++ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) \
+ -o $@ $+ $(LVMLIBS) $(STATIC_LIBS)
+
+ liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
diff --git a/sys-fs/lvm2/files/lvm2-2.03.17-example.conf.in.patch b/sys-fs/lvm2/files/lvm2-2.03.17-example.conf.in.patch
new file mode 100644
index 000000000000..b63b681e5fab
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.17-example.conf.in.patch
@@ -0,0 +1,42 @@
+Add Gentoo specific changes
+
+--- a/conf/example.conf.in
++++ b/conf/example.conf.in
+@@ -170,6 +170,9 @@
+ # Example
+ # Accept every block device:
+ # filter = [ "a|.*|" ]
++ # Gentoo: we exclude /dev/nbd by default, because it makes a lot of kernel
++ # noise when you probed while not available.
++ filter = [ "r|/dev/nbd.*|", "a|.*|" ]
+ # Reject the cdrom drive:
+ # filter = [ "r|/dev/cdrom|" ]
+ # Work with just loopback devices, e.g. for testing:
+@@ -1843,7 +1846,7 @@
+
+ # Configuration section metadata.
+ # This configuration section has an automatic default value.
+-# metadata {
++metadata {
+
+ # Configuration option metadata/check_pv_device_sizes.
+ # Check device sizes are not smaller than corresponding PV sizes.
+@@ -1888,7 +1891,8 @@
+ #
+ # This configuration option is advanced.
+ # This configuration option has an automatic default value.
+- # pvmetadatacopies = 1
++ # Gentoo: enable for data safety, but PV resize is then disabled.
++ # pvmetadatacopies = 2
+
+ # Configuration option metadata/vgmetadatacopies.
+ # Number of copies of metadata to maintain for each VG.
+@@ -1931,7 +1935,7 @@
+ # This configuration option is advanced.
+ # This configuration option has an automatic default value.
+ # stripesize = 64
+-# }
++}
+
+ # Configuration section report.
+ # LVM report command output formatting.
diff --git a/sys-fs/lvm2/files/lvm2-2.03.17-locale-muck.patch b/sys-fs/lvm2/files/lvm2-2.03.17-locale-muck.patch
new file mode 100644
index 000000000000..c672a10e2cf6
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.17-locale-muck.patch
@@ -0,0 +1,11 @@
+--- a/make.tmpl.in
++++ b/make.tmpl.in
+@@ -571,7 +571,7 @@
+ ( cat $(srcdir)/.exported_symbols; \
+ if test -n "$(EXPORTED_HEADER)"; then \
+ $(CC) -E -P $(INCLUDES) $(DEFS) $(EXPORTED_HEADER) | \
+- $(SED) -ne "/^typedef|}/!s/.*[ *]\($(EXPORTED_FN_PREFIX)_[a-z0-9_]*\)(.*/\1/p"; \
++ LC_ALL=C $(SED) -ne "/^typedef|}/!s/.*[ *]\($(EXPORTED_FN_PREFIX)_[a-z0-9_]*\)(.*/\1/p"; \
+ fi \
+ ) > $@
+
diff --git a/sys-fs/lvm2/files/lvm2-2.03.17-pthread-pkgconfig.patch b/sys-fs/lvm2/files/lvm2-2.03.17-pthread-pkgconfig.patch
new file mode 100644
index 000000000000..828cf66667b1
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.17-pthread-pkgconfig.patch
@@ -0,0 +1,31 @@
+Add pthread to libdevmapper pkgconfig file
+
+--- a/libdm/libdevmapper.pc.in
++++ b/libdm/libdevmapper.pc.in
+@@ -9,4 +9,4 @@
+ Cflags: -I${includedir}
+ Libs: -L${libdir} -ldevmapper
+ Requires.private: @SELINUX_PC@ @UDEV_PC@
+-Libs.private: -lm @RT_LIBS@
++Libs.private: -lm @RT_LIBS@ @PTHREAD_LIBS@
+--- a/tools/Makefile.in
++++ b/tools/Makefile.in
+@@ -89,6 +89,7 @@
+ TARGETS += lvm.static
+ INSTALL_LVM_TARGETS += install_tools_static
+ INSTALL_CMDLIB_TARGETS += install_cmdlib_static
++ STATIC_LIBS += @PTHREAD_LIBS@
+ endif
+
+ LIB_VERSION = $(LIB_VERSION_LVM)
+@@ -114,6 +115,10 @@
+
+ include $(top_builddir)/make.tmpl
+
++ifeq ("@STATIC_LINK@", "yes")
++ STATIC_LIBS += @PTHREAD_LIBS@
++endif
++
+ device-mapper:
+
+ all: device-mapper
diff --git a/sys-fs/lvm2/files/lvm2-2.03.17-readelf.patch b/sys-fs/lvm2/files/lvm2-2.03.17-readelf.patch
new file mode 100644
index 000000000000..82870b108e09
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.17-readelf.patch
@@ -0,0 +1,56 @@
+From 2de7e5c222ff114f41dadcf904061d6c2a77eae2 Mon Sep 17 00:00:00 2001
+From: David Seifert <soap@gentoo.org>
+Date: Sat, 19 Nov 2022 17:05:31 +0100
+Subject: [PATCH 1/2] Allow for overriding of `readelf`
+
+* This allows users to use e.g. `llvm-readelf` on systems with binutils as default.
+
+Bug: https://bugs.gentoo.org/840628
+---
+ configure.ac | 1 +
+ libdm/Makefile.in | 4 ++--
+ libdm/make.tmpl.in | 1 +
+ 3 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 704772b62..f39c87d08 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -83,6 +83,7 @@ AC_PROG_LN_S
+ AC_PROG_MAKE_SET
+ AC_PROG_MKDIR_P
+ AC_PROG_RANLIB
++AC_CHECK_TOOL([READELF], [readelf])
+ AC_CHECK_TOOL(AR, ar)
+ AC_PATH_TOOL(CFLOW_CMD, cflow)
+ AC_PATH_TOOL(CSCOPE_CMD, cscope)
+diff --git a/libdm/Makefile.in b/libdm/Makefile.in
+index 35115d7f0..2758648e6 100644
+--- a/libdm/Makefile.in
++++ b/libdm/Makefile.in
+@@ -71,8 +71,8 @@ libdevmapper.$(LIB_SUFFIX) libdevmapper.$(LIB_SUFFIX).$(LIB_VERSION): $(LIB_SHAR
+ # also the older symbol is built-in
+ .symver_check: $(LIB_SHARED)
+ @echo " [CHECK] $<"
+- $(Q) if readelf -Ws $< | grep -q dm_stats_create_region@@; then \
+- SYM=$$(readelf -Ws $< | grep dm_stats_create_region@DM_1_02_106); \
++ $(Q) if $(READELF) -Ws $< | grep -q dm_stats_create_region@@; then \
++ SYM=$$($(READELF) -Ws $< | grep dm_stats_create_region@DM_1_02_106); \
+ if test -n "$$SYM"; then touch $@; \
+ else echo >&2 "Missing versioned symbols in $<"; false; fi; \
+ else touch $@; fi
+diff --git a/libdm/make.tmpl.in b/libdm/make.tmpl.in
+index f1c88fac0..095fb028a 100644
+--- a/libdm/make.tmpl.in
++++ b/libdm/make.tmpl.in
+@@ -34,6 +34,7 @@ ifeq ($(CC), cc)
+ endif
+
+ RANLIB = @RANLIB@
++READELF = @READELF@
+ INSTALL = @INSTALL@
+ MKDIR_P = @MKDIR_P@
+ MSGFMT = @MSGFMT@
+--
+2.38.1
+
diff --git a/sys-fs/lvm2/lvm2-2.03.17.ebuild b/sys-fs/lvm2/lvm2-2.03.17.ebuild
new file mode 100644
index 000000000000..01f3f1dd4f90
--- /dev/null
+++ b/sys-fs/lvm2/lvm2-2.03.17.ebuild
@@ -0,0 +1,303 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TMPFILES_OPTIONAL=1
+inherit autotools linux-info systemd toolchain-funcs tmpfiles udev flag-o-matic
+
+DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
+HOMEPAGE="https://sourceware.org/lvm2/"
+SRC_URI="https://sourceware.org/ftp/lvm2/${PN^^}.${PV}.tgz"
+S="${WORKDIR}/${PN^^}.${PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="+lvm lvm2create-initrd readline sanlock selinux static static-libs systemd +thin +udev"
+REQUIRED_USE="
+ static? ( !systemd !udev )
+ static-libs? ( static !udev )
+ systemd? ( udev )
+ thin? ( lvm )"
+
+DEPEND_COMMON="
+ udev? ( virtual/libudev:= )
+ lvm? (
+ dev-libs/libaio
+ sys-apps/util-linux
+ readline? ( sys-libs/readline:= )
+ sanlock? ( sys-cluster/sanlock )
+ systemd? ( sys-apps/systemd:= )
+ )"
+# /run is now required for locking during early boot. /var cannot be assumed to
+# be available -- thus, pull in recent enough baselayout for /run.
+# This version of LVM is incompatible with cryptsetup <1.1.2.
+RDEPEND="${DEPEND_COMMON}
+ >=sys-apps/baselayout-2.2
+ lvm? (
+ virtual/tmpfiles
+ lvm2create-initrd? ( sys-apps/makedev )
+ thin? ( sys-block/thin-provisioning-tools )
+ )"
+# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
+DEPEND="${DEPEND_COMMON}
+ static? (
+ lvm? (
+ dev-libs/libaio[static-libs]
+ sys-apps/util-linux[static-libs]
+ readline? ( sys-libs/readline[static-libs] )
+ )
+ selinux? ( sys-libs/libselinux[static-libs] )
+ )"
+BDEPEND="
+ sys-devel/autoconf-archive
+ virtual/pkgconfig"
+
+PATCHES=(
+ # Gentoo specific modification(s):
+ "${FILESDIR}"/${PN}-2.03.17-example.conf.in.patch
+
+ # For upstream -- review and forward:
+ "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
+ "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
+ "${FILESDIR}"/${PN}-2.03.17-locale-muck.patch #330373
+ "${FILESDIR}"/${PN}-2.03.17-dynamic-static-ldflags.patch #332905
+ "${FILESDIR}"/${PN}-2.03.14-static-pkgconfig-libs.patch #370217, #439414 + blkid
+ "${FILESDIR}"/${PN}-2.03.12-static-pkgconfig-libs-2.patch
+ "${FILESDIR}"/${PN}-2.03.17-pthread-pkgconfig.patch #492450
+ "${FILESDIR}"/${PN}-2.03.12-static-libm.patch #617756
+ "${FILESDIR}"/${PN}-2.02.166-HPPA-no-O_DIRECT.patch #657446
+ "${FILESDIR}"/${PN}-2.03.05-dmeventd-no-idle-exit.patch
+ "${FILESDIR}"/${PN}-2.03.14-r1-fopen-to-freopen.patch
+ "${FILESDIR}"/${PN}-2.03.14-freopen_n2.patch
+ "${FILESDIR}"/${PN}-2.03.16-musl-strerror_r.patch
+ "${FILESDIR}"/${PN}-2.03.17-readelf.patch
+)
+
+QA_CONFIGURE_OPTIONS="--disable-static"
+
+pkg_setup() {
+ local CONFIG_CHECK="~SYSVIPC"
+
+ if use udev; then
+ local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
+ if linux_config_exists; then
+ local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
+ if [[ -n "${uevent_helper_path}" ]] && [[ "${uevent_helper_path}" != '""' ]]; then
+ ewarn "It's recommended to set an empty value to the following kernel config option:"
+ ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
+ fi
+ fi
+ fi
+
+ check_extra_config
+
+ # 1. Genkernel no longer copies /sbin/lvm blindly.
+ if use static; then
+ elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
+ elog "their static versions. If you need the static binaries,"
+ elog "you must append .static to the filename!"
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Users without systemd get no auto-activation of any logical volume
+ if ! use systemd ; then
+ eapply "${FILESDIR}"/${PN}-2.03.16-dm_lvm_rules_no_systemd.patch
+ fi
+
+ sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
+
+ eautoreconf
+}
+
+src_configure() {
+ filter-flags -flto
+
+ # Workaround for bug #822210
+ tc-ld-disable-gold
+
+ # Most of this package does weird stuff.
+ # The build options are tristate, and --without is NOT supported
+ # options: 'none', 'internal', 'shared'
+ local myeconfargs=(
+ $(use_enable lvm dmfilemapd)
+ $(use_enable lvm dmeventd)
+ $(use_enable lvm cmdlib)
+ $(use_enable lvm fsadm)
+ $(use_enable lvm lvmpolld)
+ $(usev !lvm --disable-udev-systemd-background-jobs)
+
+ # This only causes the .static versions to become available
+ $(usev static --enable-static_link)
+
+ # dmeventd requires mirrors to be internal, and snapshot available
+ # so we cannot disable them
+ --with-mirrors="$(usex lvm internal none)"
+ --with-snapshots="$(usex lvm internal none)"
+
+ # disable O_DIRECT support on hppa, breaks pv detection (#99532)
+ $(usev hppa --disable-o_direct)
+ )
+
+ if use lvm && use thin; then
+ myeconfargs+=( --with-thin=internal --with-cache=internal )
+ local texec
+ for texec in check dump repair restore; do
+ myeconfargs+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
+ myeconfargs+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
+ done
+ else
+ myeconfargs+=( --with-thin=none --with-cache=none )
+ fi
+
+ myeconfargs+=(
+ # musl doesn't do symbol versioning so can end up with
+ # runtime breakage.
+ --with-symvers=$(usex elibc_glibc 'gnu' 'no')
+ $(use_enable readline)
+ $(use_enable selinux)
+ --enable-pkgconfig
+ --with-confdir="${EPREFIX}"/etc
+ --exec-prefix="${EPREFIX}"
+ --sbindir="${EPREFIX}/sbin"
+ --with-staticdir="${EPREFIX}"/sbin
+ --libdir="${EPREFIX}/$(get_libdir)"
+ --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)"
+ --with-default-dm-run-dir=/run
+ --with-default-run-dir=/run/lvm
+ --with-default-locking-dir=/run/lock/lvm
+ --with-default-pid-dir=/run
+ $(use_enable udev udev_rules)
+ $(use_enable udev udev_sync)
+ $(use_with udev udevdir "${EPREFIX}$(get_udevdir)"/rules.d)
+ # USE=sanlock requires USE=lvm
+ $(use_enable $(usex lvm sanlock lvm) lvmlockd-sanlock)
+ $(use_enable systemd udev-systemd-background-jobs)
+ $(use_enable systemd notify-dbus)
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ CLDFLAGS="${LDFLAGS}"
+ )
+
+ # Hard-wire this to bash as some shells (dash) don't know
+ # "-o pipefail" #682404
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake V=1 -C include
+
+ if use lvm ; then
+ emake V=1
+ emake V=1 CC="$(tc-getCC)" -C scripts
+ else
+ emake V=1 device-mapper
+ # https://bugs.gentoo.org/878131
+ emake V=1 -C libdm/dm-tools device-mapper
+ fi
+}
+
+src_test() {
+ einfo "Tests are disabled because of device-node mucking, if you want to"
+ einfo "run tests, compile the package and see ${S}/tests"
+}
+
+src_install() {
+ local INSTALL_TARGETS=(
+ # full LVM2
+ $(usev lvm "install install_tmpfiles_configuration")
+ # install systemd related files only when requested, bug #522430
+ $(usev $(usex lvm systemd lvm) "SYSTEMD_GENERATOR_DIR=$(systemd_get_systemgeneratordir) install_systemd_units install_systemd_generators")
+
+ # install dm unconditionally
+ install_device-mapper
+ )
+ emake V=1 DESTDIR="${D}" "${INSTALL_TARGETS[@]}"
+
+ newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
+ newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
+
+ if use lvm ; then
+ newinitd "${FILESDIR}"/dmeventd.initd-2.02.184-r2 dmeventd
+ newinitd "${FILESDIR}"/lvm.rc-2.02.187 lvm
+ newconfd "${FILESDIR}"/lvm.confd-2.02.184-r3 lvm
+ if ! use udev ; then
+ # We keep the variable but remove udev from it.
+ sed -r -i \
+ -e '/^rc_need=/s/\<udev\>//g' \
+ "${ED}"/etc/conf.d/lvm || die "Could not drop udev from rc_need"
+ fi
+
+ newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
+ newinitd "${FILESDIR}"/lvmpolld.initd-2.02.183 lvmpolld
+
+ if use lvm2create-initrd; then
+ dosbin scripts/lvm2create_initrd/lvm2create_initrd
+ doman scripts/lvm2create_initrd/lvm2create_initrd.8
+ newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
+ fi
+
+ if use sanlock; then
+ newinitd "${FILESDIR}"/lvmlockd.initd-2.02.166-r1 lvmlockd
+ fi
+ fi
+
+ if use static-libs; then
+ dolib.a libdm/ioctl/libdevmapper.a
+ if use lvm; then
+ # depends on lvmetad
+ dolib.a libdaemon/client/libdaemonclient.a #462908
+ # depends on dmeventd
+ dolib.a daemons/dmeventd/libdevmapper-event.a
+ fi
+ else
+ rm -f "${ED}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a || die
+ fi
+
+ insinto /etc
+ doins "${FILESDIR}"/dmtab
+
+ dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
+}
+
+pkg_postinst() {
+ use lvm && tmpfiles_process lvm2.conf
+
+ if use udev; then
+ udev_reload
+ fi
+
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ # This is a new installation
+ ewarn "Make sure the \"lvm\" init script is in the runlevels:"
+ ewarn "# rc-update add lvm boot"
+ ewarn
+ ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
+ ewarn "to enable lvm autoactivation and metadata caching."
+ fi
+
+ if use udev && [[ -d /run ]] ; then
+ local permission_run_expected="drwxr-xr-x"
+ local permission_run=$(stat -c "%A" /run)
+ if [[ "${permission_run}" != "${permission_run_expected}" ]] ; then
+ ewarn "Found the following problematic permissions:"
+ ewarn ""
+ ewarn " ${permission_run} /run"
+ ewarn ""
+ ewarn "Expected:"
+ ewarn ""
+ ewarn " ${permission_run_expected} /run"
+ ewarn ""
+ ewarn "This is known to be causing problems for UDEV-enabled LVM services."
+ fi
+ fi
+}
+
+pkg_postrm() {
+ if use udev && [[ -z ${REPLACED_BY_VERSION} ]]; then
+ udev_reload
+ fi
+}
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2023-01-13 11:11 David Seifert
0 siblings, 0 replies; 29+ messages in thread
From: David Seifert @ 2023-01-13 11:11 UTC (permalink / raw
To: gentoo-commits
commit: 12dbea87d40f1e338ae9ca7f9b4afdbb2114df2d
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 13 11:11:29 2023 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Fri Jan 13 11:11:29 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=12dbea87
sys-fs/lvm2: drop 2.03.14-r5
Signed-off-by: David Seifert <soap <AT> gentoo.org>
sys-fs/lvm2/Manifest | 1 -
.../files/lvm2-2.02.166-HPPA-no-O_DIRECT.patch | 12 -
sys-fs/lvm2/files/lvm2-2.02.184-mksh_build.patch | 13 -
sys-fs/lvm2/files/lvm2-2.02.99-locale-muck.patch | 11 -
.../files/lvm2-2.03.05-pthread-pkgconfig.patch | 48 ----
.../lvm2/files/lvm2-2.03.06-example.conf.in.patch | 56 ----
.../lvm2-2.03.12-dynamic-static-ldflags.patch | 76 -----
.../lvm2-2.03.14-dm_lvm_rules_no_systemd.patch | 37 ---
sys-fs/lvm2/files/lvm2-2.03.14-r1-add-fcntl.patch | 24 --
sys-fs/lvm2/files/lvm2-2.03.14-r1-mallinfo.patch | 18 --
sys-fs/lvm2/lvm2-2.03.14-r5.ebuild | 312 ---------------------
11 files changed, 608 deletions(-)
diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest
index 5d8395d11f1b..97f6f93fc328 100644
--- a/sys-fs/lvm2/Manifest
+++ b/sys-fs/lvm2/Manifest
@@ -1,2 +1 @@
-DIST LVM2.2.03.14.tgz 2639538 BLAKE2B 806f5e9cb76a05febef6f8ce8cfc42c92927b9538f62a21029c5ffc426a4fd7c3f32709be08dbd8028b53891b1075d1d13cb3b0d7b1815071ee8eb927d8f3ed3 SHA512 6a93bed1d5cf36f0f48d4d413d028b0e480cd4fc20e25d173770a892f265d2a0cc68d01a720b1513469953649e989532cd0c45f9538f92a4190eb3dc4555857d
DIST LVM2.2.03.17.tgz 2726793 BLAKE2B 425e52fe2d7832f8440203d2b6ffc3a097903abea8be07bbbf4864001d5f55083954e561a92b0fe4fc467533e465af3958b25cf33d2693f50f077dc3d9b74bd2 SHA512 ce9f4c10a7e89b397fa021098976117c062227da4f25996296dd3678c0aeb826edf9b7e4f5d3992f42156865ae47cb98671ec37a26868710174a473b42cc70a9
diff --git a/sys-fs/lvm2/files/lvm2-2.02.166-HPPA-no-O_DIRECT.patch b/sys-fs/lvm2/files/lvm2-2.02.166-HPPA-no-O_DIRECT.patch
deleted file mode 100644
index 0f830e428b10..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.166-HPPA-no-O_DIRECT.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/lib/device/dev-io.c
-+++ b/lib/device/dev-io.c
-@@ -505,7 +505,9 @@
- dev->flags |= DEV_NOT_O_NOATIME;
- if ((dev->fd = open(name, flags, 0777)) >= 0) {
- log_debug_devs("%s: Not using O_NOATIME", name);
-+#ifdef O_DIRECT_SUPPORT
- goto opened;
-+#endif
- }
- }
- #endif
diff --git a/sys-fs/lvm2/files/lvm2-2.02.184-mksh_build.patch b/sys-fs/lvm2/files/lvm2-2.02.184-mksh_build.patch
deleted file mode 100644
index 49c6853f23a7..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.184-mksh_build.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-https://bugs.gentoo.org/686652
-
---- LVM2.2.02.184/tools/Makefile.in
-+++ LVM2.2.02.184/tools/Makefile.in
-@@ -220,6 +220,6 @@
- echo "/* Do not edit. This file is generated by the Makefile. */" && \
- echo -en "const char _command_input[] =\n\n\"" && \
- $(EGREP) -v '^#|\-\-\-|^$$' $(srcdir)/command-lines.in | $(AWK) 'BEGIN {ORS = "\\n\"\n\""} //' && \
-- echo "\\n\";" \
-+ printf "%s\n" "\\n\";" \
- ) > $@
-
- $(SOURCES:%.c=%.d) $(SOURCES2:%.c=%.d): command-lines-input.h command-count.h cmds.h
diff --git a/sys-fs/lvm2/files/lvm2-2.02.99-locale-muck.patch b/sys-fs/lvm2/files/lvm2-2.02.99-locale-muck.patch
deleted file mode 100644
index fe7ec87931e3..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.99-locale-muck.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- LVM2/make.tmpl.in
-+++ LVM2/make.tmpl.in
-@@ -395,7 +395,7 @@
- ( cat $(srcdir)/.exported_symbols; \
- if test x$(EXPORTED_HEADER) != x; then \
- $(CC) -E -P $(INCLUDES) $(DEFS) $(EXPORTED_HEADER) | \
-- $(SED) -ne "/^typedef|}/!s/.*[ *]\($(EXPORTED_FN_PREFIX)_[a-z0-9_]*\)(.*/\1/p"; \
-+ LC_ALL=C $(SED) -ne "/^typedef|}/!s/.*[ *]\($(EXPORTED_FN_PREFIX)_[a-z0-9_]*\)(.*/\1/p"; \
- fi \
- ) > $@
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.05-pthread-pkgconfig.patch b/sys-fs/lvm2/files/lvm2-2.03.05-pthread-pkgconfig.patch
deleted file mode 100644
index 56aa2a7b79fc..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.05-pthread-pkgconfig.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From dbb68df8d02eff87f10df331e17bd0940e158f56 Mon Sep 17 00:00:00 2001
-From: "Robin H. Johnson" <robbat2@gentoo.org>
-Date: Wed, 24 Jul 2019 11:15:59 +0200
-Subject: [PATCH] Add pthread to libdevmapper pkgconfig file
-
-Forward-ported from 2.02.176 to 2.03.05
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- libdm/libdevmapper.pc.in | 2 +-
- tools/Makefile.in | 5 +++++
- 2 files changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/libdm/libdevmapper.pc.in b/libdm/libdevmapper.pc.in
-index a325aeb9e0..aa0980378f 100644
---- a/libdm/libdevmapper.pc.in
-+++ b/libdm/libdevmapper.pc.in
-@@ -9,4 +9,4 @@ Version: @DM_LIB_PATCHLEVEL@
- Cflags: -I${includedir}
- Libs: -L${libdir} -ldevmapper
- Requires.private: @SELINUX_PC@ @UDEV_PC@
--Libs.private: -lm @RT_LIBS@
-+Libs.private: -lm @RT_LIBS@ @PTHREAD_LIBS@
-diff --git a/tools/Makefile.in b/tools/Makefile.in
-index e5fc9c4ae4..12e4de2c63 100644
---- a/tools/Makefile.in
-+++ b/tools/Makefile.in
-@@ -87,6 +87,7 @@ ifeq ("@STATIC_LINK@", "yes")
- TARGETS += lvm.static
- INSTALL_LVM_TARGETS += install_tools_static
- INSTALL_CMDLIB_TARGETS += install_cmdlib_static
-+ STATIC_LIBS += @PTHREAD_LIBS@
- endif
-
- LVMLIBS = $(SYSTEMD_LIBS) -L$(top_builddir)/libdm -ldevmapper $(LIBS) -laio
-@@ -113,6 +114,10 @@ CFLOW_TARGET = lvm
-
- include $(top_builddir)/make.tmpl
-
-+ifeq ("@STATIC_LINK@", "yes")
-+ STATIC_LIBS += @PTHREAD_LIBS@
-+endif
-+
- device-mapper:
-
- all: device-mapper
---
-2.22.0
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.06-example.conf.in.patch b/sys-fs/lvm2/files/lvm2-2.03.06-example.conf.in.patch
deleted file mode 100644
index 329bfde6ca91..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.06-example.conf.in.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From a26cc1e7e299b61d1877ead03aacafef9fbe81ff Mon Sep 17 00:00:00 2001
-From: "Robin H. Johnson" <robbat2@gentoo.org>
-Date: Fri, 25 Oct 2019 08:45:17 +0200
-Subject: [PATCH] Add Gentoo specific changes
-
-Forward-ported from 2.03.05 to 2.03.06
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- conf/example.conf.in | 10 +++++++---
- 1 file changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/conf/example.conf.in b/conf/example.conf.in
-index 05b0857920..33ffb0097c 100644
---- a/conf/example.conf.in
-+++ b/conf/example.conf.in
-@@ -143,6 +143,9 @@ devices {
- # Example
- # Accept every block device:
- # filter = [ "a|.*|" ]
-+ # Gentoo: we exclude /dev/nbd by default, because it makes a lot of kernel
-+ # noise when you probed while not available.
-+ filter = [ "r|/dev/nbd.*|", "a|.*|" ]
- # Reject the cdrom drive:
- # filter = [ "r|/dev/cdrom|" ]
- # Work with just loopback devices, e.g. for testing:
-@@ -1680,7 +1683,7 @@ activation {
-
- # Configuration section metadata.
- # This configuration section has an automatic default value.
--# metadata {
-+metadata {
-
- # Configuration option metadata/check_pv_device_sizes.
- # Check device sizes are not smaller than corresponding PV sizes.
-@@ -1725,7 +1728,8 @@ activation {
- #
- # This configuration option is advanced.
- # This configuration option has an automatic default value.
-- # pvmetadatacopies = 1
-+ # Gentoo: enable for data safety, but PV resize is then disabled.
-+ # pvmetadatacopies = 2
-
- # Configuration option metadata/vgmetadatacopies.
- # Number of copies of metadata to maintain for each VG.
-@@ -1768,7 +1772,7 @@ activation {
- # This configuration option is advanced.
- # This configuration option has an automatic default value.
- # stripesize = 64
--# }
-+}
-
- # Configuration section report.
- # LVM report command output formatting.
---
-2.24.0.rc1
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.12-dynamic-static-ldflags.patch b/sys-fs/lvm2/files/lvm2-2.03.12-dynamic-static-ldflags.patch
deleted file mode 100644
index 80b6bc7a023f..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.12-dynamic-static-ldflags.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 4bdd215fd84e83a8119d0b971904221743a87a23 Mon Sep 17 00:00:00 2001
-From: "Robin H. Johnson" <robbat2@gentoo.org>
-Date: Wed, 24 Jul 2019 11:11:35 +0200
-Subject: [PATCH] Add dynamic static ldflags
-
-Forward-ported from 2.02.178 to 2.03.05
-Forward-ported from 2.03.05 to 2.03.12
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- configure.ac | 2 ++
- daemons/dmeventd/Makefile.in | 2 +-
- make.tmpl.in | 1 +
- tools/Makefile.in | 2 +-
- 4 files changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 1a49e7fe7e..354b53b5ec 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -32,6 +32,7 @@ case "$host_os" in
- linux*)
- # equivalent to -rdynamic
- ELDFLAGS="-Wl,--export-dynamic"
-+ STATIC_LDFLAGS="-Wl,--no-export-dynamic"
- # FIXME Generate list and use --dynamic-list=.dlopen.sym
- CLDWHOLEARCHIVE="-Wl,-whole-archive"
- CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive"
-@@ -1860,6 +1861,7 @@ AC_SUBST(SYSCONFDIR)
- AC_SUBST(SYSTEMD_LIBS)
- AC_SUBST(SNAPSHOTS)
- AC_SUBST(STATICDIR)
-+AC_SUBST(STATIC_LDFLAGS)
- AC_SUBST(STATIC_LINK)
- AC_SUBST(TESTSUITE_DATA)
- AC_SUBST(THIN)
-diff --git a/daemons/dmeventd/Makefile.in b/daemons/dmeventd/Makefile.in
-index af51198aae..f7896e581e 100644
---- a/daemons/dmeventd/Makefile.in
-+++ b/daemons/dmeventd/Makefile.in
-@@ -76,7 +76,7 @@ dmeventd: $(LIB_SHARED) dmeventd.o
-
- dmeventd.static: $(LIB_STATIC) dmeventd.o
- @echo " [CC] $@"
-- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static dmeventd.o \
-+ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static dmeventd.o \
- -o $@ $(DL_LIBS) $(DMEVENT_LIBS) $(LIBS) $(STATIC_LIBS)
-
- ifeq ("@PKGCONFIG@", "yes")
-diff --git a/make.tmpl.in b/make.tmpl.in
-index 200ea2e05f..99f02e8b77 100644
---- a/make.tmpl.in
-+++ b/make.tmpl.in
-@@ -69,6 +69,7 @@ DEFS += @DEFS@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
- LDFLAGS ?= @LDFLAGS@
-+STATIC_LDFLAGS += @STATIC_LDFLAGS@
- CLDFLAGS += @CLDFLAGS@
- ELDFLAGS += @ELDFLAGS@
- LDDEPS += @LDDEPS@
-diff --git a/tools/Makefile.in b/tools/Makefile.in
-index ec546ca632..cdede2a058 100644
---- a/tools/Makefile.in
-+++ b/tools/Makefile.in
-@@ -137,7 +137,7 @@ man-generator: man-generator.o
-
- lvm.static: $(OBJECTS) lvm-static.o $(LVMINTERNAL_LIBS)
- @echo " [CC] $@"
-- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) \
-+ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) \
- -o $@ $+ $(LVMLIBS) $(STATIC_LIBS)
-
- liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
---
-2.31.1
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-dm_lvm_rules_no_systemd.patch b/sys-fs/lvm2/files/lvm2-2.03.14-dm_lvm_rules_no_systemd.patch
deleted file mode 100644
index 0b4a156c630f..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.14-dm_lvm_rules_no_systemd.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 88d5b3d711c8546864e57dbfba7591a19be80c4d Mon Sep 17 00:00:00 2001
-From: Lars Wendler <polynomial-c@gentoo.org>
-Date: Mon, 27 Dec 2021 00:53:21 +0100
-Subject: [PATCH] Don't use systemd-run in 69-dm-lvm.rules
-
-some people don't run systemd
----
- udev/69-dm-lvm.rules.in | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/udev/69-dm-lvm.rules.in b/udev/69-dm-lvm.rules.in
-index 39e5b9807..6ba4efa0f 100644
---- a/udev/69-dm-lvm.rules.in
-+++ b/udev/69-dm-lvm.rules.in
-@@ -62,8 +62,8 @@ ENV{SYSTEMD_READY}="1"
- # LVM_VG_NAME_COMPLETE='foo'
- #
- # When the VG is complete it can be activated, so
--# vgchange -aay <vgname> is run. It is run via
--# systemd since it can take longer to run than
-+# vgchange -aay <vgname> is run. It can take
-+# longer to run than
- # udev wants to block when processing rules.
- # (if there are hundreds of LVs to activate,
- # the vgchange can take many seconds.)
-@@ -80,7 +80,7 @@ ENV{SYSTEMD_READY}="1"
- # it's better suited to appearing in the journal.
-
- IMPORT{program}="(LVM_EXEC)/lvm pvscan --cache --listvg --checkcomplete --vgonline --udevoutput --journal=output $env{DEVNAME}"
--ENV{LVM_VG_NAME_COMPLETE}=="?*", RUN+="/usr/bin/systemd-run -r --no-block --property DefaultDependencies=no --unit lvm-activate-$env{LVM_VG_NAME_COMPLETE} lvm vgchange -aay --nohints $env{LVM_VG_NAME_COMPLETE}"
-+ENV{LVM_VG_NAME_COMPLETE}=="?*", RUN+="(LVM_EXEC)/lvm vgchange -aay --nohints $env{LVM_VG_NAME_COMPLETE}"
- GOTO="lvm_end"
-
- LABEL="lvm_end"
---
-2.34.1
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-r1-add-fcntl.patch b/sys-fs/lvm2/files/lvm2-2.03.14-r1-add-fcntl.patch
deleted file mode 100644
index 1b5524a61405..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.14-r1-add-fcntl.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-https://bugs.gentoo.org/712336
-https://bugs.gentoo.org/549506
-
-Adds fcntl.h into daemon-server.c to define fcntl and some constants.
-
----
- libdaemon/server/daemon-server.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/libdaemon/server/daemon-server.c b/libdaemon/server/daemon-server.c
-index 88905a7..771b021 100644
---- a/libdaemon/server/daemon-server.c
-+++ b/libdaemon/server/daemon-server.c
-@@ -28,6 +28,7 @@
- #include <sys/un.h>
- #include <unistd.h>
- #include <signal.h>
-+#include <fcntl.h>
-
- #include <syslog.h> /* FIXME. For the global closelog(). */
-
---
-2.35.1
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-r1-mallinfo.patch b/sys-fs/lvm2/files/lvm2-2.03.14-r1-mallinfo.patch
deleted file mode 100644
index af4cbc0d5aab..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.14-r1-mallinfo.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-https://git.alpinelinux.org/aports/tree/main/lvm2/mallinfo.patch
-
-Patch from Alpine, disables _allocate_memory since mallinfo isn't defined in musl.
-19:17 <@sam_> your caution is well-advised, but it should be safe enough given it's only affecting the non-glibc path
-
-Should be looked back to!
-
---- ./lib/mm/memlock.c.orig 2015-03-09 11:18:41.560028850 -0100
-+++ ./lib/mm/memlock.c 2015-03-09 11:19:54.504373309 -0100
-@@ -137,7 +137,7 @@
-
- static void _allocate_memory(void)
- {
--#ifndef VALGRIND_POOL
-+#if !defined(VALGRIND_POOL) && defined(__GLIBC__)
- void *stack_mem;
- struct rlimit limit;
- int i, area = 0, missing = _size_malloc_tmp, max_areas = 32, hblks;
diff --git a/sys-fs/lvm2/lvm2-2.03.14-r5.ebuild b/sys-fs/lvm2/lvm2-2.03.14-r5.ebuild
deleted file mode 100644
index f07d1b50f8f3..000000000000
--- a/sys-fs/lvm2/lvm2-2.03.14-r5.ebuild
+++ /dev/null
@@ -1,312 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-TMPFILES_OPTIONAL=1
-inherit autotools linux-info systemd toolchain-funcs tmpfiles udev flag-o-matic
-
-DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
-HOMEPAGE="https://sourceware.org/lvm2/"
-SRC_URI="ftp://sourceware.org/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
- ftp://sourceware.org/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="readline static static-libs systemd lvm lvm2create-initrd sanlock selinux +udev thin"
-REQUIRED_USE="!lvm? ( !lvm2create-initrd !sanlock !thin )
- static? ( !systemd !udev )
- static-libs? ( static !udev )
- systemd? ( udev )"
-
-DEPEND_COMMON="
- dev-libs/libaio[static-libs?]
- static? ( dev-libs/libaio[static-libs] )
- !static? ( dev-libs/libaio[static-libs?] )
- readline? ( sys-libs/readline:0= )
- sanlock? ( sys-cluster/sanlock )
- systemd? ( >=sys-apps/systemd-205:0= )
- udev? ( >=virtual/libudev-208:= )"
-# /run is now required for locking during early boot. /var cannot be assumed to
-# be available -- thus, pull in recent enough baselayout for /run.
-# This version of LVM is incompatible with cryptsetup <1.1.2.
-RDEPEND="${DEPEND_COMMON}
- >=sys-apps/baselayout-2.2
- >=sys-apps/util-linux-2.16
- lvm2create-initrd? ( sys-apps/makedev )
- lvm? ( virtual/tmpfiles )
- thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
-# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
-DEPEND="${DEPEND_COMMON}
- static? (
- readline? ( sys-libs/readline[static-libs] )
- selinux? ( sys-libs/libselinux[static-libs] )
- >=sys-apps/util-linux-2.16[static-libs]
- )"
-BDEPEND="
- sys-devel/autoconf-archive
- virtual/pkgconfig
-"
-
-S="${WORKDIR}/${PN/lvm/LVM}.${PV}"
-
-PATCHES=(
- # Gentoo specific modification(s):
- "${FILESDIR}"/${PN}-2.03.06-example.conf.in.patch
-
- # For upstream -- review and forward:
- "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
- "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
- "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
- "${FILESDIR}"/${PN}-2.03.12-dynamic-static-ldflags.patch #332905
- "${FILESDIR}"/${PN}-2.03.14-static-pkgconfig-libs.patch #370217, #439414 + blkid
- "${FILESDIR}"/${PN}-2.03.12-static-pkgconfig-libs-2.patch
- "${FILESDIR}"/${PN}-2.03.05-pthread-pkgconfig.patch #492450
- "${FILESDIR}"/${PN}-2.03.12-static-libm.patch #617756
- "${FILESDIR}"/${PN}-2.02.166-HPPA-no-O_DIRECT.patch #657446
- "${FILESDIR}"/${PN}-2.03.05-dmeventd-no-idle-exit.patch
- "${FILESDIR}"/${PN}-2.02.184-mksh_build.patch #686652
- "${FILESDIR}"/${PN}-2.03.14-r1-add-fcntl.patch
- "${FILESDIR}"/${PN}-2.03.14-r1-fopen-to-freopen.patch
- "${FILESDIR}"/${PN}-2.03.14-r1-mallinfo.patch
- "${FILESDIR}"/${PN}-2.03.14-freopen_n2.patch
-)
-
-pkg_setup() {
- local CONFIG_CHECK="~SYSVIPC"
-
- if use udev; then
- local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
- if linux_config_exists; then
- local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
- if [[ -n "${uevent_helper_path}" ]] && [[ "${uevent_helper_path}" != '""' ]]; then
- ewarn "It's recommended to set an empty value to the following kernel config option:"
- ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
- fi
- fi
- fi
-
- check_extra_config
-
- # 1. Genkernel no longer copies /sbin/lvm blindly.
- if use static; then
- elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
- elog "their static versions. If you need the static binaries,"
- elog "you must append .static to the filename!"
- fi
-}
-
-src_prepare() {
- default
-
- # Users without systemd get no auto-activation of any logical volume
- if ! use systemd ; then
- eapply "${FILESDIR}"/${PN}-2.03.14-dm_lvm_rules_no_systemd.patch
- sed -i -e '/^USE_SD_NOTIFY=yes$/s/yes/no/' daemons/lvmlockd/Makefile.in || die
- fi
-
- sed -i \
- -e "1iAR = $(tc-getAR)" \
- -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
- make.tmpl.in || die #444082
-
- sed -i -e '/FLAG/s:-O2::' configure{.ac,} || die #480212
-
- sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
-
- # Don't install thin man page when not requested
- if ! use thin ; then
- sed -i -e 's/^\(MAN7+=.*\) $(LVMTHINMAN) \(.*\)$/\1 \2/' man/Makefile.in || die
- fi
-
- eautoreconf
-}
-
-src_configure() {
- filter-flags -flto
-
- # Workaround for bug #822210
- tc-ld-disable-gold
-
- local myeconfargs=()
-
- # Most of this package does weird stuff.
- # The build options are tristate, and --without is NOT supported
- # options: 'none', 'internal', 'shared'
- myeconfargs+=(
- $(use_enable lvm dmfilemapd)
- $(use_enable lvm dmeventd)
- $(use_enable lvm cmdlib)
- $(use_enable lvm fsadm)
- $(use_enable lvm lvmpolld)
- $(usex !lvm --disable-udev-systemd-background-jobs '')
-
- # This only causes the .static versions to become available
- $(usex static --enable-static_link '')
-
- # dmeventd requires mirrors to be internal, and snapshot available
- # so we cannot disable them
- --with-mirrors="$(usex !lvm none internal)"
- --with-snapshots="$(usex !lvm none internal)"
-
- # disable O_DIRECT support on hppa, breaks pv detection (#99532)
- $(usex hppa --disable-o_direct '')
- )
-
- if use thin; then
- myeconfargs+=( --with-thin=internal --with-cache=internal )
- local texec
- for texec in check dump repair restore; do
- myeconfargs+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
- myeconfargs+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
- done
- else
- myeconfargs+=( --with-thin=none --with-cache=none )
- fi
-
- myeconfargs+=(
- $(use_enable readline)
- $(use_enable selinux)
- --enable-pkgconfig
- --with-confdir="${EPREFIX}"/etc
- --exec-prefix="${EPREFIX}"
- --sbindir="${EPREFIX}/sbin"
- --with-staticdir="${EPREFIX}"/sbin
- --libdir="${EPREFIX}/$(get_libdir)"
- --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)"
- --with-default-dm-run-dir=/run
- --with-default-run-dir=/run/lvm
- --with-default-locking-dir=/run/lock/lvm
- --with-default-pid-dir=/run
- $(use_enable udev udev_rules)
- $(use_enable udev udev_sync)
- $(use_with udev udevdir "${EPREFIX}$(get_udevdir)"/rules.d)
- $(use_enable sanlock lvmlockd-sanlock)
- $(use_enable systemd udev-systemd-background-jobs)
- $(use_enable systemd notify-dbus)
- $(use_enable systemd app-machineid)
- $(use_enable systemd systemd-journal)
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
- CLDFLAGS="${LDFLAGS}"
- )
- # Hard-wire this to bash as some shells (dash) don't know
- # "-o pipefail" #682404
- CONFIG_SHELL="/bin/bash" \
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- pushd include >/dev/null
- emake V=1
- popd >/dev/null
-
- if use !lvm ; then
- emake V=1 device-mapper
- # https://bugs.gentoo.org/878131
- emake -C libdm/dm-tools V=1 device-mapper
- else
- emake V=1
- emake V=1 CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
- fi
-}
-
-src_test() {
- einfo "Tests are disabled because of device-node mucking, if you want to"
- einfo "run tests, compile the package and see ${S}/tests"
-}
-
-src_install() {
- local inst
- local INSTALL_TARGETS=( install install_tmpfiles_configuration )
- # install systemd related files only when requested, bug #522430
- use systemd && INSTALL_TARGETS+=( SYSTEMD_GENERATOR_DIR="$(systemd_get_systemgeneratordir)" install_systemd_units install_systemd_generators )
- use !lvm && INSTALL_TARGETS=( install_device-mapper )
- emake V=1 DESTDIR="${D}" "${INSTALL_TARGETS[@]}"
-
- newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
- newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
-
- if use lvm ; then
- newinitd "${FILESDIR}"/dmeventd.initd-2.02.184-r2 dmeventd
- newinitd "${FILESDIR}"/lvm.rc-2.02.187 lvm
- newconfd "${FILESDIR}"/lvm.confd-2.02.184-r3 lvm
- if ! use udev ; then
- # We keep the variable but remove udev from it.
- sed -r -i \
- -e '/^rc_need=/s/\<udev\>//g' \
- "${ED}/etc/conf.d/lvm" || die "Could not drop udev from rc_need"
- fi
-
- newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
- newinitd "${FILESDIR}"/lvmpolld.initd-2.02.183 lvmpolld
- fi
-
- if use sanlock; then
- newinitd "${FILESDIR}"/lvmlockd.initd-2.02.166-r1 lvmlockd
- fi
-
- if use static-libs; then
- dolib.a libdm/ioctl/libdevmapper.a
- if use lvm; then
- # depends on lvmetad
- dolib.a libdaemon/client/libdaemonclient.a #462908
- # depends on dmeventd
- dolib.a daemons/dmeventd/libdevmapper-event.a
- fi
- else
- rm -f "${ED}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
- fi
-
- if use lvm2create-initrd; then
- dosbin scripts/lvm2create_initrd/lvm2create_initrd
- doman scripts/lvm2create_initrd/lvm2create_initrd.8
- newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
- fi
-
- insinto /etc
- doins "${FILESDIR}"/dmtab
-
- dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
-}
-
-pkg_postinst() {
- if use lvm; then
- tmpfiles_process lvm2.conf
- fi
-
- if use udev; then
- udev_reload
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]]; then
- # This is a new installation
- ewarn "Make sure the \"lvm\" init script is in the runlevels:"
- ewarn "# rc-update add lvm boot"
- ewarn
- ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
- ewarn "to enable lvm autoactivation and metadata caching."
- fi
-
- if use udev && [[ -d /run ]] ; then
- local permission_run_expected="drwxr-xr-x"
- local permission_run=$(stat -c "%A" /run)
- if [[ "${permission_run}" != "${permission_run_expected}" ]] ; then
- ewarn "Found the following problematic permissions:"
- ewarn ""
- ewarn " ${permission_run} /run"
- ewarn ""
- ewarn "Expected:"
- ewarn ""
- ewarn " ${permission_run_expected} /run"
- ewarn ""
- ewarn "This is known to be causing problems for UDEV-enabled LVM services."
- fi
- fi
-}
-
-pkg_postrm() {
- if use udev && [[ -z ${REPLACED_BY_VERSION} ]]; then
- udev_reload
- fi
-}
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2023-01-28 13:38 David Seifert
0 siblings, 0 replies; 29+ messages in thread
From: David Seifert @ 2023-01-28 13:38 UTC (permalink / raw
To: gentoo-commits
commit: a426f18f919e26917aa46b8791931a29c779a2cb
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 28 13:38:18 2023 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Jan 28 13:38:18 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a426f18f
sys-fs/lvm2: add 2.03.18
Signed-off-by: David Seifert <soap <AT> gentoo.org>
sys-fs/lvm2/Manifest | 1 +
sys-fs/lvm2/files/lvm2-2.03.18-freopen-musl.patch | 60 +++++
sys-fs/lvm2/lvm2-2.03.18.ebuild | 315 ++++++++++++++++++++++
3 files changed, 376 insertions(+)
diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest
index 97f6f93fc328..b7ce1cc25e6d 100644
--- a/sys-fs/lvm2/Manifest
+++ b/sys-fs/lvm2/Manifest
@@ -1 +1,2 @@
DIST LVM2.2.03.17.tgz 2726793 BLAKE2B 425e52fe2d7832f8440203d2b6ffc3a097903abea8be07bbbf4864001d5f55083954e561a92b0fe4fc467533e465af3958b25cf33d2693f50f077dc3d9b74bd2 SHA512 ce9f4c10a7e89b397fa021098976117c062227da4f25996296dd3678c0aeb826edf9b7e4f5d3992f42156865ae47cb98671ec37a26868710174a473b42cc70a9
+DIST LVM2.2.03.18.tgz 2728113 BLAKE2B 59df1a6ece11473d3f15a8b81701faa363be556f7668a34d2cbbf9221a014f268c230f08d3bd873bbebee89480c787a6f358b2edf8777c990c62e7c6a36aecad SHA512 58043bdcad882065f15d772401d29fc7fb2d0a6b6b75063915dc38bb11cd847517dd18ae7e2acb3935e6c32ef620a275c2b2b9c307434f7457ea3203b87254c1
diff --git a/sys-fs/lvm2/files/lvm2-2.03.18-freopen-musl.patch b/sys-fs/lvm2/files/lvm2-2.03.18-freopen-musl.patch
new file mode 100644
index 000000000000..13afb81796ac
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.18-freopen-musl.patch
@@ -0,0 +1,60 @@
+From c2817ff30c4ad1e1a171ee0e914dbecdd486e3cf Mon Sep 17 00:00:00 2001
+From: David Seifert <soap@gentoo.org>
+Date: Sat, 28 Jan 2023 14:22:42 +0100
+Subject: [PATCH] Use `freopen()` on {stdin,stdout,stderr}
+
+* ISO C does not guarantee that the standard streams are modifiable
+ lvalues. Glibc even calls out this behaviour as non-portable:
+ https://www.gnu.org/software/libc/manual/html_node/Standard-Streams.html
+---
+ lib/log/log.c | 2 +-
+ tools/lvmcmdline.c | 6 +++---
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/lib/log/log.c b/lib/log/log.c
+index 118a3ba42..aecc72611 100644
+--- a/lib/log/log.c
++++ b/lib/log/log.c
+@@ -208,7 +208,7 @@ int reopen_standard_stream(FILE **stream, const char *mode)
+
+ _check_and_replace_standard_log_streams(old_stream, new_stream);
+
+- *stream = new_stream;
++ freopen(NULL, mode, *stream);
+ return 1;
+ }
+
+diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c
+index a5bb6a5c5..0ebfa375c 100644
+--- a/tools/lvmcmdline.c
++++ b/tools/lvmcmdline.c
+@@ -3422,7 +3422,7 @@ static int _check_standard_fds(void)
+ int err = is_valid_fd(STDERR_FILENO);
+
+ if (!is_valid_fd(STDIN_FILENO) &&
+- !(stdin = fopen(_PATH_DEVNULL, "r"))) {
++ !freopen(_PATH_DEVNULL, "r", stdin)) {
+ if (err)
+ perror("stdin stream open");
+ else
+@@ -3432,7 +3432,7 @@ static int _check_standard_fds(void)
+ }
+
+ if (!is_valid_fd(STDOUT_FILENO) &&
+- !(stdout = fopen(_PATH_DEVNULL, "w"))) {
++ !freopen(_PATH_DEVNULL, "w", stdout)) {
+ if (err)
+ perror("stdout stream open");
+ /* else no stdout */
+@@ -3440,7 +3440,7 @@ static int _check_standard_fds(void)
+ }
+
+ if (!is_valid_fd(STDERR_FILENO) &&
+- !(stderr = fopen(_PATH_DEVNULL, "w"))) {
++ !freopen(_PATH_DEVNULL, "w", stderr)) {
+ printf("stderr stream open: %s\n",
+ strerror(errno));
+ return 0;
+--
+2.39.1
+
diff --git a/sys-fs/lvm2/lvm2-2.03.18.ebuild b/sys-fs/lvm2/lvm2-2.03.18.ebuild
new file mode 100644
index 000000000000..b93eea6a507f
--- /dev/null
+++ b/sys-fs/lvm2/lvm2-2.03.18.ebuild
@@ -0,0 +1,315 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TMPFILES_OPTIONAL=1
+inherit autotools linux-info systemd toolchain-funcs tmpfiles udev flag-o-matic
+
+DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
+HOMEPAGE="https://sourceware.org/lvm2/"
+SRC_URI="https://sourceware.org/ftp/lvm2/${PN^^}.${PV}.tgz"
+S="${WORKDIR}/${PN^^}.${PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="lvm lvm2create-initrd readline sanlock selinux static static-libs systemd thin +udev"
+REQUIRED_USE="
+ static? ( !systemd !udev )
+ static-libs? ( static !udev )
+ systemd? ( udev )
+ thin? ( lvm )"
+
+DEPEND_COMMON="
+ udev? ( virtual/libudev:= )
+ lvm? (
+ dev-libs/libaio
+ sys-apps/util-linux
+ readline? ( sys-libs/readline:= )
+ sanlock? ( sys-cluster/sanlock )
+ systemd? ( sys-apps/systemd:= )
+ )"
+# /run is now required for locking during early boot. /var cannot be assumed to
+# be available -- thus, pull in recent enough baselayout for /run.
+# This version of LVM is incompatible with cryptsetup <1.1.2.
+RDEPEND="${DEPEND_COMMON}
+ >=sys-apps/baselayout-2.2
+ lvm? (
+ virtual/tmpfiles
+ lvm2create-initrd? ( sys-apps/makedev )
+ thin? ( sys-block/thin-provisioning-tools )
+ )"
+# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
+DEPEND="${DEPEND_COMMON}
+ static? (
+ lvm? (
+ dev-libs/libaio[static-libs]
+ sys-apps/util-linux[static-libs]
+ readline? ( sys-libs/readline[static-libs] )
+ )
+ selinux? ( sys-libs/libselinux[static-libs] )
+ )"
+BDEPEND="
+ sys-devel/autoconf-archive
+ virtual/pkgconfig"
+
+PATCHES=(
+ # Gentoo specific modification(s):
+ "${FILESDIR}"/${PN}-2.03.17-example.conf.in.patch
+
+ # For upstream -- review and forward:
+ "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
+ "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
+ "${FILESDIR}"/${PN}-2.03.17-locale-muck.patch #330373
+ "${FILESDIR}"/${PN}-2.03.17-dynamic-static-ldflags.patch #332905
+ "${FILESDIR}"/${PN}-2.03.14-static-pkgconfig-libs.patch #370217, #439414 + blkid
+ "${FILESDIR}"/${PN}-2.03.12-static-pkgconfig-libs-2.patch
+ "${FILESDIR}"/${PN}-2.03.17-pthread-pkgconfig.patch #492450
+ "${FILESDIR}"/${PN}-2.03.12-static-libm.patch #617756
+ "${FILESDIR}"/${PN}-2.03.05-dmeventd-no-idle-exit.patch
+ "${FILESDIR}"/${PN}-2.03.18-freopen-musl.patch
+ "${FILESDIR}"/${PN}-2.03.17-musl-LOCK_EX.patch #887259
+)
+
+pkg_setup() {
+ local CONFIG_CHECK="~SYSVIPC"
+
+ if use udev; then
+ local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
+ if linux_config_exists; then
+ local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
+ if [[ -n "${uevent_helper_path}" ]] && [[ "${uevent_helper_path}" != '""' ]]; then
+ ewarn "It's recommended to set an empty value to the following kernel config option:"
+ ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
+ fi
+ fi
+ fi
+
+ check_extra_config
+
+ # 1. Genkernel no longer copies /sbin/lvm blindly.
+ if use static; then
+ elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
+ elog "their static versions. If you need the static binaries,"
+ elog "you must append .static to the filename!"
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Users without systemd get no auto-activation of any logical volume
+ if ! use systemd ; then
+ eapply "${FILESDIR}"/${PN}-2.03.16-dm_lvm_rules_no_systemd.patch
+ sed -i -e '/^USE_SD_NOTIFY=yes$/s/yes/no/' daemons/lvmlockd/Makefile.in || die
+ fi
+
+ sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
+
+ eautoreconf
+}
+
+src_configure() {
+ filter-flags -flto
+
+ # Workaround for bug #822210
+ tc-ld-disable-gold
+
+ # Most of this package does weird stuff.
+ # The build options are tristate, and --without is NOT supported
+ # options: 'none', 'internal', 'shared'
+ local myeconfargs=(
+ $(use_enable lvm dmfilemapd)
+ $(use_enable lvm dmeventd)
+ $(use_enable lvm cmdlib)
+ $(use_enable lvm fsadm)
+ $(use_enable lvm lvmpolld)
+ $(usev !lvm --disable-udev-systemd-background-jobs)
+
+ # This only causes the .static versions to become available
+ $(usev static --enable-static_link)
+
+ # dmeventd requires mirrors to be internal, and snapshot available
+ # so we cannot disable them
+ --with-mirrors="$(usex lvm internal none)"
+ --with-snapshots="$(usex lvm internal none)"
+ )
+
+ if use lvm && use thin; then
+ myeconfargs+=( --with-thin=internal --with-cache=internal )
+ local texec
+ for texec in check dump repair restore; do
+ myeconfargs+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
+ myeconfargs+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
+ done
+ else
+ myeconfargs+=( --with-thin=none --with-cache=none )
+ fi
+
+ myeconfargs+=(
+ # musl doesn't do symbol versioning so can end up with
+ # runtime breakage.
+ --with-symvers=$(usex elibc_glibc 'gnu' 'no')
+ $(use_enable readline)
+ $(use_enable selinux)
+ --enable-pkgconfig
+ --with-confdir="${EPREFIX}"/etc
+ --exec-prefix="${EPREFIX}"
+ --sbindir="${EPREFIX}/sbin"
+ --with-staticdir="${EPREFIX}"/sbin
+ --libdir="${EPREFIX}/$(get_libdir)"
+ --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)"
+ --with-default-dm-run-dir=/run
+ --with-default-run-dir=/run/lvm
+ --with-default-locking-dir=/run/lock/lvm
+ --with-default-pid-dir=/run
+ $(use_enable udev udev_rules)
+ $(use_enable udev udev_sync)
+ $(use_with udev udevdir "${EPREFIX}$(get_udevdir)"/rules.d)
+ # USE=sanlock requires USE=lvm
+ $(use_enable $(usex lvm sanlock lvm) lvmlockd-sanlock)
+ $(use_enable systemd udev-systemd-background-jobs)
+ $(use_enable systemd notify-dbus)
+ $(use_enable systemd app-machineid)
+ $(use_enable systemd systemd-journal)
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ CLDFLAGS="${LDFLAGS}"
+ )
+
+ # Hard-wire this to bash as some shells (dash) don't know
+ # "-o pipefail" #682404
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake V=1 -C include
+
+ if use lvm ; then
+ emake V=1
+ emake V=1 CC="$(tc-getCC)" -C scripts
+ else
+ emake V=1 device-mapper
+ # https://bugs.gentoo.org/878131
+ emake V=1 -C libdm/dm-tools device-mapper
+ fi
+}
+
+src_test() {
+ einfo "Tests are disabled because of device-node mucking, if you want to"
+ einfo "run tests, compile the package and see ${S}/tests"
+}
+
+src_install() {
+ local INSTALL_TARGETS=(
+ # full LVM2
+ $(usev lvm "install install_tmpfiles_configuration")
+ # install systemd related files only when requested, bug #522430
+ $(usev $(usex lvm systemd lvm) "SYSTEMD_GENERATOR_DIR=$(systemd_get_systemgeneratordir) install_systemd_units install_systemd_generators")
+
+ # install dm unconditionally
+ install_device-mapper
+ )
+ emake V=1 DESTDIR="${D}" "${INSTALL_TARGETS[@]}"
+
+ newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
+ newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
+
+ if use lvm ; then
+ newinitd "${FILESDIR}"/dmeventd.initd-2.02.184-r2 dmeventd
+ newinitd "${FILESDIR}"/lvm.rc-2.02.187 lvm
+ newconfd "${FILESDIR}"/lvm.confd-2.02.184-r3 lvm
+ if ! use udev ; then
+ # We keep the variable but remove udev from it.
+ sed -r -i \
+ -e '/^rc_need=/s/\<udev\>//g' \
+ "${ED}"/etc/conf.d/lvm || die "Could not drop udev from rc_need"
+ fi
+
+ newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
+ newinitd "${FILESDIR}"/lvmpolld.initd-2.02.183 lvmpolld
+
+ if use lvm2create-initrd; then
+ dosbin scripts/lvm2create_initrd/lvm2create_initrd
+ doman scripts/lvm2create_initrd/lvm2create_initrd.8
+ newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
+ fi
+
+ if use sanlock; then
+ newinitd "${FILESDIR}"/lvmlockd.initd-2.02.166-r1 lvmlockd
+ fi
+ fi
+
+ if use static-libs; then
+ dolib.a libdm/ioctl/libdevmapper.a
+ if use lvm; then
+ # depends on lvmetad
+ dolib.a libdaemon/client/libdaemonclient.a #462908
+ # depends on dmeventd
+ dolib.a daemons/dmeventd/libdevmapper-event.a
+ fi
+ else
+ rm -f "${ED}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a || die
+ fi
+
+ insinto /etc
+ doins "${FILESDIR}"/dmtab
+
+ dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
+}
+
+pkg_preinst() {
+ HAD_LVM=0
+
+ if has_version 'sys-fs/lvm2[lvm(+)]' ; then
+ HAD_LVM=1
+ fi
+}
+
+pkg_postinst() {
+ use lvm && tmpfiles_process lvm2.conf
+ use udev && udev_reload
+
+ # This is a new installation
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ if use lvm ; then
+ ewarn "Make sure the \"lvm\" init script is in the runlevels:"
+ ewarn "# rc-update add lvm boot"
+ ewarn
+ ewarn "Make sure to enable lvmetad in ${EROOT}/etc/lvm/lvm.conf if you want"
+ ewarn "to enable lvm autoactivation and metadata caching."
+ else
+ ewarn "Please enable USE=lvm if you need the LVM daemon and"
+ ewarn "tools like 'lvchange', 'vgchange', etc!"
+ fi
+ else
+ if ! use lvm && [[ ${HAD_LVM} -eq 1 ]] ; then
+ ewarn "LVM was previously enabled but is now disabled."
+ ewarn "Please enable USE=lvm if you need the LVM daemon and"
+ ewarn "tools like 'lvchange', 'vgchange', etc!"
+ ewarn "See the 2022-11-19-lvm2-default-USE-flags news item for more details."
+ fi
+ fi
+
+ if use udev && [[ -d /run ]] ; then
+ local permission_run_expected="drwxr-xr-x"
+ local permission_run=$(stat -c "%A" /run)
+ if [[ "${permission_run}" != "${permission_run_expected}" ]] ; then
+ ewarn "Found the following problematic permissions:"
+ ewarn ""
+ ewarn " ${permission_run} /run"
+ ewarn ""
+ ewarn "Expected:"
+ ewarn ""
+ ewarn " ${permission_run_expected} /run"
+ ewarn ""
+ ewarn "This is known to cause problems for udev-enabled LVM services."
+ fi
+ fi
+}
+
+pkg_postrm() {
+ if use udev && [[ -z ${REPLACED_BY_VERSION} ]]; then
+ udev_reload
+ fi
+}
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2023-02-21 20:29 David Seifert
0 siblings, 0 replies; 29+ messages in thread
From: David Seifert @ 2023-02-21 20:29 UTC (permalink / raw
To: gentoo-commits
commit: 62d0dc13d15389c1332eed076ab9214879743258
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 21 20:29:11 2023 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Tue Feb 21 20:29:11 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=62d0dc13
sys-fs/lvm2: add 2.03.19
Signed-off-by: David Seifert <soap <AT> gentoo.org>
sys-fs/lvm2/Manifest | 1 +
.../lvm2-2.03.19-dm_lvm_rules_no_systemd.patch | 11 +
.../files/lvm2-2.03.19-dmeventd-no-idle-exit.patch | 73 +++++
.../lvm2-2.03.19-dynamic-static-ldflags.patch | 50 ++++
sys-fs/lvm2/files/lvm2-2.03.19-freopen-musl.patch | 63 +++++
.../files/lvm2-2.03.19-static-pkgconfig-libs.patch | 130 +++++++++
sys-fs/lvm2/lvm2-2.03.19.ebuild | 306 +++++++++++++++++++++
7 files changed, 634 insertions(+)
diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest
index b7ce1cc25e6d..c1c32f79b536 100644
--- a/sys-fs/lvm2/Manifest
+++ b/sys-fs/lvm2/Manifest
@@ -1,2 +1,3 @@
DIST LVM2.2.03.17.tgz 2726793 BLAKE2B 425e52fe2d7832f8440203d2b6ffc3a097903abea8be07bbbf4864001d5f55083954e561a92b0fe4fc467533e465af3958b25cf33d2693f50f077dc3d9b74bd2 SHA512 ce9f4c10a7e89b397fa021098976117c062227da4f25996296dd3678c0aeb826edf9b7e4f5d3992f42156865ae47cb98671ec37a26868710174a473b42cc70a9
DIST LVM2.2.03.18.tgz 2728113 BLAKE2B 59df1a6ece11473d3f15a8b81701faa363be556f7668a34d2cbbf9221a014f268c230f08d3bd873bbebee89480c787a6f358b2edf8777c990c62e7c6a36aecad SHA512 58043bdcad882065f15d772401d29fc7fb2d0a6b6b75063915dc38bb11cd847517dd18ae7e2acb3935e6c32ef620a275c2b2b9c307434f7457ea3203b87254c1
+DIST LVM2.2.03.19.tgz 2732219 BLAKE2B 7a5bd024312f149d95361ea24a282c8c68e371687fe8f7c853fa0748ce854bc991cdade999835666a5ece569e80dd9be85d4fae7fc5cc75b912de00f170cf66e SHA512 a40691f6f4c9300c95784be0fcb055a2b8e07bfdc87f000f2357ccb54fdb814a679fb79f5c9790a7440ef538e9997e46d56e539814bfdf138b4e76603aeb2994
diff --git a/sys-fs/lvm2/files/lvm2-2.03.19-dm_lvm_rules_no_systemd.patch b/sys-fs/lvm2/files/lvm2-2.03.19-dm_lvm_rules_no_systemd.patch
new file mode 100644
index 000000000000..e39d7959b331
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.19-dm_lvm_rules_no_systemd.patch
@@ -0,0 +1,11 @@
+--- a/udev/69-dm-lvm.rules.in
++++ b/udev/69-dm-lvm.rules.in
+@@ -76,7 +76,7 @@
+ # it's better suited to appearing in the journal.
+
+ IMPORT{program}="(LVM_EXEC)/lvm pvscan --cache --listvg --checkcomplete --vgonline --autoactivation event --udevoutput --journal=output $env{DEVNAME}"
+-ENV{LVM_VG_NAME_COMPLETE}=="?*", RUN+="(SYSTEMDRUN) --no-block --property DefaultDependencies=no --unit lvm-activate-$env{LVM_VG_NAME_COMPLETE} (LVM_EXEC)/lvm vgchange -aay --autoactivation event $env{LVM_VG_NAME_COMPLETE}"
++ENV{LVM_VG_NAME_COMPLETE}=="?*", RUN+="(LVM_EXEC)/lvm vgchange -aay --nohints --autoactivation event $env{LVM_VG_NAME_COMPLETE}"
+ GOTO="lvm_end"
+
+ LABEL="lvm_end"
diff --git a/sys-fs/lvm2/files/lvm2-2.03.19-dmeventd-no-idle-exit.patch b/sys-fs/lvm2/files/lvm2-2.03.19-dmeventd-no-idle-exit.patch
new file mode 100644
index 000000000000..b7030ccc084d
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.19-dmeventd-no-idle-exit.patch
@@ -0,0 +1,73 @@
+From ab3ae0a22dfbe20e2d17e7dc60e0f76184ec098c Mon Sep 17 00:00:00 2001
+From: "Robin H. Johnson" <robbat2@gentoo.org>
+Date: Wed, 24 Jul 2019 11:22:32 +0200
+Subject: [PATCH] dmeventd configurable idle exit time
+
+dmeventd nominally exits after 1 hour of idle time. There are use cases for
+this, esp. with socket activation, but also cases where users don't expect
+dmeventd to exit.
+
+Provide a tuning knob via environment variable, DMEVENTD_IDLE_EXIT_TIMEOUT,
+that can be -1 to not exit, or a configurable time for different idle exit.
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+Fixes: https://bugs.gentoo.org/682556
+---
+ daemons/dmeventd/dmeventd.c | 16 ++++++++++++++--
+ man/dmeventd.8_main | 4 ++++
+ 2 files changed, 18 insertions(+), 2 deletions(-)
+
+diff --git a/daemons/dmeventd/dmeventd.c b/daemons/dmeventd/dmeventd.c
+index 33859ef414..ac0b9743fc 100644
+--- a/daemons/dmeventd/dmeventd.c
++++ b/daemons/dmeventd/dmeventd.c
+@@ -2169,6 +2169,18 @@
+ .server_path = DM_EVENT_FIFO_SERVER
+ };
+ time_t now, idle_exit_timeout = DMEVENTD_IDLE_EXIT_TIMEOUT;
++
++ /* Provide a basic way to config the idle timeout */
++ char* idle_exit_timeout_env = getenv("DMEVENTD_IDLE_EXIT_TIMEOUT") ? : NULL;
++ if(NULL != idle_exit_timeout_env) {
++ char* endptr;
++ idle_exit_timeout = strtol(idle_exit_timeout_env, &endptr, 10);
++ if (errno == ERANGE || *endptr != '\0') {
++ fprintf(stderr, "DMEVENTD_IDLE_EXIT_TIMEOUT: bad time input\n");
++ exit(EXIT_FAILURE);
++ }
++ }
++
+ opterr = 0;
+ optind = 0;
+
+@@ -2265,7 +2277,7 @@
+ _process_initial_registrations();
+
+ for (;;) {
+- if (_idle_since) {
++ if (_idle_since || _exit_now) {
+ if (_exit_now) {
+ if (_exit_now == DM_SCHEDULED_EXIT)
+ break; /* Only prints shutdown message */
+@@ -2274,7 +2286,7 @@
+ (long) (time(NULL) - _idle_since));
+ break;
+ }
+- if (idle_exit_timeout) {
++ if (idle_exit_timeout && idle_exit_timeout > 0) {
+ now = time(NULL);
+ if (now < _idle_since)
+ _idle_since = now; /* clock change? */
+--- a/man/dmeventd.8_main
++++ b/man/dmeventd.8_main
+@@ -169,6 +169,10 @@
+ Variable is set by thin and vdo plugin to prohibit recursive interaction
+ with dmeventd by any executed lvm2 command from
+ a thin_command, vdo_command environment.
++.TP
++.B DMEVENTD_IDLE_EXIT_TIMEOUT
++Configure the dmeventd idle exit timeout behavior, value in seconds. Default
++is 3600 (1 hour). -1 means do not exit.
+ .
+ .SH SEE ALSO
+ .
diff --git a/sys-fs/lvm2/files/lvm2-2.03.19-dynamic-static-ldflags.patch b/sys-fs/lvm2/files/lvm2-2.03.19-dynamic-static-ldflags.patch
new file mode 100644
index 000000000000..3aae81984506
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.19-dynamic-static-ldflags.patch
@@ -0,0 +1,50 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -32,6 +32,7 @@
+ [linux*], [
+ # equivalent to -rdynamic
+ ELDFLAGS="-Wl,--export-dynamic"
++ STATIC_LDFLAGS="-Wl,--no-export-dynamic"
+ # FIXME Generate list and use --dynamic-list=.dlopen.sym
+ CLDWHOLEARCHIVE="-Wl,-whole-archive"
+ CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive"
+@@ -1875,6 +1876,7 @@
+ AC_SUBST(SYSTEMD_RUN_CMD)
+ AC_SUBST(SNAPSHOTS)
+ AC_SUBST(STATICDIR)
++AC_SUBST(STATIC_LDFLAGS)
+ AC_SUBST(STATIC_LINK)
+ AC_SUBST(TESTSUITE_DATA)
+ AC_SUBST(THIN)
+--- a/daemons/dmeventd/Makefile.in
++++ b/daemons/dmeventd/Makefile.in
+@@ -76,7 +76,7 @@
+
+ dmeventd.static: $(LIB_STATIC) dmeventd.o
+ @echo " [CC] $@"
+- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static dmeventd.o \
++ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static dmeventd.o \
+ -o $@ $(DL_LIBS) $(DMEVENT_LIBS) $(LIBS) $(STATIC_LIBS)
+
+ ifeq ("@PKGCONFIG@", "yes")
+--- a/make.tmpl.in
++++ b/make.tmpl.in
+@@ -65,6 +65,7 @@
+ CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
+ CPPFLAGS ?= @CPPFLAGS@
+ LDFLAGS ?= @LDFLAGS@
++STATIC_LDFLAGS += @STATIC_LDFLAGS@
+ CLDFLAGS += @CLDFLAGS@
+ ELDFLAGS += @ELDFLAGS@
+ LDDEPS += @LDDEPS@
+--- a/tools/Makefile.in
++++ b/tools/Makefile.in
+@@ -137,7 +137,7 @@
+
+ lvm.static: $(OBJECTS) lvm-static.o $(LVMINTERNAL_LIBS)
+ @echo " [CC] $@"
+- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) \
++ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) \
+ -o $@ $+ $(LVMLIBS) $(STATIC_LIBS)
+
+ liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
diff --git a/sys-fs/lvm2/files/lvm2-2.03.19-freopen-musl.patch b/sys-fs/lvm2/files/lvm2-2.03.19-freopen-musl.patch
new file mode 100644
index 000000000000..cc231d9251bd
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.19-freopen-musl.patch
@@ -0,0 +1,63 @@
+From 4cf08811e112100a2b10c60047f3c537ad21d674 Mon Sep 17 00:00:00 2001
+From: David Seifert <soap@gentoo.org>
+Date: Sat, 28 Jan 2023 14:22:42 +0100
+Subject: [PATCH] Use `freopen()` on {stdin,stdout,stderr}
+
+* ISO C does not guarantee that the standard streams are modifiable
+ lvalues. Glibc even calls out this behaviour as non-portable:
+ https://www.gnu.org/software/libc/manual/html_node/Standard-Streams.html
+---
+ lib/log/log.c | 4 ++++
+ tools/lvmcmdline.c | 6 +++---
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/lib/log/log.c b/lib/log/log.c
+index 118a3ba42..a94016d81 100644
+--- a/lib/log/log.c
++++ b/lib/log/log.c
+@@ -208,7 +208,11 @@ int reopen_standard_stream(FILE **stream, const char *mode)
+
+ _check_and_replace_standard_log_streams(old_stream, new_stream);
+
++#ifdef __GLIBC__
+ *stream = new_stream;
++#else
++ freopen(NULL, mode, *stream);
++#endif
+ return 1;
+ }
+
+diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c
+index a5bb6a5c5..0ebfa375c 100644
+--- a/tools/lvmcmdline.c
++++ b/tools/lvmcmdline.c
+@@ -3422,7 +3422,7 @@ static int _check_standard_fds(void)
+ int err = is_valid_fd(STDERR_FILENO);
+
+ if (!is_valid_fd(STDIN_FILENO) &&
+- !(stdin = fopen(_PATH_DEVNULL, "r"))) {
++ !freopen(_PATH_DEVNULL, "r", stdin)) {
+ if (err)
+ perror("stdin stream open");
+ else
+@@ -3432,7 +3432,7 @@ static int _check_standard_fds(void)
+ }
+
+ if (!is_valid_fd(STDOUT_FILENO) &&
+- !(stdout = fopen(_PATH_DEVNULL, "w"))) {
++ !freopen(_PATH_DEVNULL, "w", stdout)) {
+ if (err)
+ perror("stdout stream open");
+ /* else no stdout */
+@@ -3440,7 +3440,7 @@ static int _check_standard_fds(void)
+ }
+
+ if (!is_valid_fd(STDERR_FILENO) &&
+- !(stderr = fopen(_PATH_DEVNULL, "w"))) {
++ !freopen(_PATH_DEVNULL, "w", stderr)) {
+ printf("stderr stream open: %s\n",
+ strerror(errno));
+ return 0;
+--
+2.39.2
+
diff --git a/sys-fs/lvm2/files/lvm2-2.03.19-static-pkgconfig-libs.patch b/sys-fs/lvm2/files/lvm2-2.03.19-static-pkgconfig-libs.patch
new file mode 100644
index 000000000000..52f2cc0cb7fe
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.19-static-pkgconfig-libs.patch
@@ -0,0 +1,130 @@
+From ac7cce039825ff779795b5c2ae0ecf00ba43a401 Mon Sep 17 00:00:00 2001
+From: "Robin H. Johnson" <robbat2@gentoo.org>
+Date: Sun, 9 May 2021 11:00:22 +0200
+Subject: [PATCH] Use pkgconfig to detect static libs
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -1139,6 +1139,7 @@
+ AS_IF([test "$HAVE_BLKID" = "yes"], [
+ BLKID_WIPING="yes"
+ BLKID_PC="blkid"
++ BLKID_STATIC_LIBS=`$PKG_CONFIG --static --libs $BLKID_PC`
+ DEFAULT_USE_BLKID_WIPING=1
+ AC_DEFINE([BLKID_WIPING_SUPPORT], 1, [Define to 1 to use libblkid detection of signatures when wiping.])
+ ], [
+@@ -1165,6 +1166,7 @@
+
+ AS_IF([test "$UDEV_SYNC" = "yes"], [
+ PKG_CHECK_MODULES(UDEV, libudev >= 143, [UDEV_PC="libudev"])
++ UDEV_STATIC_LIBS=`$PKG_CONFIG --static --libs libudev`
+ AC_DEFINE([UDEV_SYNC_SUPPORT], 1, [Define to 1 to enable synchronisation with udev processing.])
+
+ AC_CHECK_LIB(udev, udev_device_get_is_initialized, AC_DEFINE([HAVE_LIBUDEV_UDEV_DEVICE_GET_IS_INITIALIZED], 1,
+@@ -1382,19 +1384,28 @@
+ AS_IF([test "$SELINUX" = "yes"], [
+ AC_CHECK_LIB([sepol], [sepol_check_context], [
+ AC_DEFINE([HAVE_SEPOL], 1, [Define to 1 if sepol_check_context is available.])
+- SELINUX_LIBS="-lsepol"])
++ SEPOL_LIBS="-lsepol"])
++
++ PKG_CHECK_MODULES(SELINUX, libselinux, [
++ SELINUX_PC="libselinux"
++ SELINUX_STATIC_LIBS=`$PKG_CONFIG --static --libs libselinux`
++ SELINUX_LIBS="$SELINUX_LIBS $SEPOL_LIBS"
++ AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
++ ], [
++ dnl -- old non-pkgconfig method, is buggy with static builds
+
+ AC_CHECK_LIB([selinux], [is_selinux_enabled], [
+ AC_CHECK_HEADERS([selinux/selinux.h],, hard_bailout)
+ AC_CHECK_HEADERS([selinux/label.h])
+ AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
+- SELINUX_LIBS="-lselinux $SELINUX_LIBS"
++ SELINUX_LIBS="-lselinux $SEPOL_LIBS"
+ SELINUX_PC="libselinux"
+ HAVE_SELINUX=yes ], [
+ AC_MSG_WARN(Disabling selinux)
+ SELINUX_LIBS=
+ SELINUX_PC=
+ HAVE_SELINUX=no ])
++ ])
+ ])
+
+ ################################################################################
+@@ -1790,6 +1801,7 @@
+ ################################################################################
+ AC_SUBST(AWK)
+ AC_SUBST(BLKID_PC)
++AC_SUBST(BLKID_STATIC_LIBS)
+ AC_SUBST(BUILD_CMIRRORD)
+ AC_SUBST(BUILD_DMEVENTD)
+ AC_SUBST(BUILD_LVMDBUSD)
+@@ -1872,6 +1884,7 @@
+ AC_SUBST(SBINDIR)
+ AC_SUBST(SELINUX_LIBS)
+ AC_SUBST(SELINUX_PC)
++AC_SUBST(SELINUX_STATIC_LIBS)
+ AC_SUBST(SYSCONFDIR)
+ AC_SUBST(SYSTEMD_RUN_CMD)
+ AC_SUBST(SNAPSHOTS)
+@@ -1890,6 +1903,7 @@
+ AC_SUBST(CACHE_RESTORE_CMD)
+ AC_SUBST(UDEV_PC)
+ AC_SUBST(UDEV_RULES)
++AC_SUBST(UDEV_STATIC_LIBS)
+ AC_SUBST(UDEV_SYNC)
+ AC_SUBST(UDEV_RULE_EXEC_DETECTION)
+ AC_SUBST(UDEV_HAS_BUILTIN_BLKID)
+--- a/libdm/make.tmpl.in
++++ b/libdm/make.tmpl.in
+@@ -54,7 +54,7 @@
+
+ LIBS += @LIBS@ $(PTHREAD_LIBS) $(SELINUX_LIBS) $(UDEV_LIBS) $(RT_LIBS) $(M_LIBS)
+ # Extra libraries always linked with static binaries
+-STATIC_LIBS = $(PTHREAD_LIBS)
++STATIC_LIBS = $(PTHREAD_LIBS) $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS)
+ DEFS += @DEFS@
+ # FIXME set this only where it's needed, not globally?
+ CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
+@@ -71,8 +71,10 @@
+ READLINE_LIBS = @READLINE_LIBS@
+ EDITLINE_LIBS = @EDITLINE_LIBS@
+ SELINUX_LIBS = @SELINUX_LIBS@
++SELINUX_STATIC_LIBS = @SELINUX_STATIC_LIBS@
+ UDEV_CFLAGS = @UDEV_CFLAGS@
+ UDEV_LIBS = @UDEV_LIBS@
++UDEV_STATIC_LIBS = @UDEV_STATIC_LIBS@
+ BLKID_CFLAGS = @BLKID_CFLAGS@
+ BLKID_LIBS = @BLKID_LIBS@
+ LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+--- a/make.tmpl.in
++++ b/make.tmpl.in
+@@ -59,7 +59,7 @@
+ LIBS += @LIBS@ $(SELINUX_LIBS) $(UDEV_LIBS) $(RT_LIBS) $(M_LIBS)
+ LVMLIBS = $(DMEVENT_LIBS) $(READLINE_LIBS) $(EDITLINE_LIBS) $(LIBSYSTEMD_LIBS) $(BLKID_LIBS) $(AIO_LIBS) $(LIBS)
+ # Extra libraries always linked with static binaries
+-STATIC_LIBS = $(PTHREAD_LIBS)
++STATIC_LIBS = $(PTHREAD_LIBS) $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS) $(M_LIBS)
+ DEFS += @DEFS@
+ # FIXME set this only where it's needed, not globally?
+ CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
+@@ -79,6 +79,7 @@
+ AIO_LIBS = @AIO_LIBS@
+ BLKID_CFLAGS = @BLKID_CFLAGS@
+ BLKID_LIBS = @BLKID_LIBS@
++BLKID_STATIC_LIBS = @BLKID_STATIC_LIBS@
+ CPG_CFLAGS = @CPG_CFLAGS@
+ CPG_LIBS = @CPG_LIBS@
+ EDITLINE_CFLAGS = @EDITLINE_CFLAGS@
+@@ -97,8 +98,10 @@
+ READLINE_CFLAGS = @READLINE_CFLAGS@
+ READLINE_LIBS = @READLINE_LIBS@
+ SELINUX_LIBS = @SELINUX_LIBS@
++SELINUX_STATIC_LIBS = @SELINUX_STATIC_LIBS@
+ UDEV_CFLAGS = @UDEV_CFLAGS@
+ UDEV_LIBS = @UDEV_LIBS@
++UDEV_STATIC_LIBS = @UDEV_STATIC_LIBS@
+ VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
+ VALGRIND_LIBS = @VALGRIND_LIBS@
+
diff --git a/sys-fs/lvm2/lvm2-2.03.19.ebuild b/sys-fs/lvm2/lvm2-2.03.19.ebuild
new file mode 100644
index 000000000000..f318272b48ea
--- /dev/null
+++ b/sys-fs/lvm2/lvm2-2.03.19.ebuild
@@ -0,0 +1,306 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TMPFILES_OPTIONAL=1
+inherit autotools linux-info systemd toolchain-funcs tmpfiles udev flag-o-matic
+
+DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
+HOMEPAGE="https://sourceware.org/lvm2/"
+SRC_URI="https://sourceware.org/ftp/lvm2/${PN^^}.${PV}.tgz"
+S="${WORKDIR}/${PN^^}.${PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="lvm lvm2create-initrd readline sanlock selinux static static-libs systemd thin +udev"
+REQUIRED_USE="
+ static? ( !systemd !udev )
+ static-libs? ( static !udev )
+ systemd? ( udev )
+ thin? ( lvm )"
+
+DEPEND_COMMON="
+ udev? ( virtual/libudev:= )
+ lvm? (
+ dev-libs/libaio
+ sys-apps/util-linux
+ readline? ( sys-libs/readline:= )
+ sanlock? ( sys-cluster/sanlock )
+ systemd? ( sys-apps/systemd:= )
+ )"
+# /run is now required for locking during early boot. /var cannot be assumed to
+# be available -- thus, pull in recent enough baselayout for /run.
+# This version of LVM is incompatible with cryptsetup <1.1.2.
+RDEPEND="${DEPEND_COMMON}
+ >=sys-apps/baselayout-2.2
+ lvm? (
+ virtual/tmpfiles
+ lvm2create-initrd? ( sys-apps/makedev )
+ thin? ( sys-block/thin-provisioning-tools )
+ )"
+# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
+DEPEND="${DEPEND_COMMON}
+ static? (
+ lvm? (
+ dev-libs/libaio[static-libs]
+ sys-apps/util-linux[static-libs]
+ readline? ( sys-libs/readline[static-libs] )
+ )
+ selinux? ( sys-libs/libselinux[static-libs] )
+ )"
+BDEPEND="
+ sys-devel/autoconf-archive
+ virtual/pkgconfig"
+
+PATCHES=(
+ # Gentoo specific modification(s):
+ "${FILESDIR}"/${PN}-2.03.17-example.conf.in.patch
+
+ # For upstream -- review and forward:
+ "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
+ "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
+ "${FILESDIR}"/${PN}-2.03.17-locale-muck.patch #330373
+ "${FILESDIR}"/${PN}-2.03.19-dynamic-static-ldflags.patch #332905
+ "${FILESDIR}"/${PN}-2.03.19-static-pkgconfig-libs.patch #370217, #439414 + blkid, #617756
+ "${FILESDIR}"/${PN}-2.03.17-pthread-pkgconfig.patch #492450
+ "${FILESDIR}"/${PN}-2.03.19-dmeventd-no-idle-exit.patch
+ "${FILESDIR}"/${PN}-2.03.19-freopen-musl.patch
+)
+
+pkg_setup() {
+ local CONFIG_CHECK="~SYSVIPC"
+
+ if use udev; then
+ local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
+ if linux_config_exists; then
+ local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
+ if [[ -n "${uevent_helper_path}" ]] && [[ "${uevent_helper_path}" != '""' ]]; then
+ ewarn "It's recommended to set an empty value to the following kernel config option:"
+ ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
+ fi
+ fi
+ fi
+
+ check_extra_config
+
+ # 1. Genkernel no longer copies /sbin/lvm blindly.
+ if use static; then
+ elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
+ elog "their static versions. If you need the static binaries,"
+ elog "you must append .static to the filename!"
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Users without systemd get no auto-activation of any logical volume
+ if ! use systemd ; then
+ eapply "${FILESDIR}"/${PN}-2.03.19-dm_lvm_rules_no_systemd.patch
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ filter-flags -flto
+
+ # Workaround for bug #822210
+ tc-ld-disable-gold
+
+ # Most of this package does weird stuff.
+ # The build options are tristate, and --without is NOT supported
+ # options: 'none', 'internal', 'shared'
+ local myeconfargs=(
+ $(use_enable lvm dmfilemapd)
+ $(use_enable lvm dmeventd)
+ $(use_enable lvm cmdlib)
+ $(use_enable lvm fsadm)
+ $(use_enable lvm lvmpolld)
+
+ # This only causes the .static versions to become available
+ $(usev static --enable-static_link)
+
+ # dmeventd requires mirrors to be internal, and snapshot available
+ # so we cannot disable them
+ --with-mirrors="$(usex lvm internal none)"
+ --with-snapshots="$(usex lvm internal none)"
+ )
+
+ if use lvm && use thin; then
+ myeconfargs+=( --with-thin=internal --with-cache=internal )
+ local texec
+ for texec in check dump repair restore; do
+ myeconfargs+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
+ myeconfargs+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
+ done
+ else
+ myeconfargs+=( --with-thin=none --with-cache=none )
+ fi
+
+ myeconfargs+=(
+ # musl doesn't do symbol versioning so can end up with
+ # runtime breakage.
+ --with-symvers=$(usex elibc_glibc 'gnu' 'no')
+ $(use_enable readline)
+ $(use_enable selinux)
+ --enable-pkgconfig
+ --with-confdir="${EPREFIX}"/etc
+ --exec-prefix="${EPREFIX}"
+ --sbindir="${EPREFIX}/sbin"
+ --with-staticdir="${EPREFIX}"/sbin
+ --libdir="${EPREFIX}/$(get_libdir)"
+ --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)"
+ --with-default-dm-run-dir=/run
+ --with-default-run-dir=/run/lvm
+ --with-default-locking-dir=/run/lock/lvm
+ --with-default-pid-dir=/run
+ $(use_enable udev udev_rules)
+ $(use_enable udev udev_sync)
+ $(use_with udev udevdir "${EPREFIX}$(get_udevdir)"/rules.d)
+ # USE=sanlock requires USE=lvm
+ $(use_enable $(usex lvm sanlock lvm) lvmlockd-sanlock)
+ $(use_enable systemd notify-dbus)
+ $(use_enable systemd app-machineid)
+ $(use_enable systemd systemd-journal)
+ $(use_with systemd systemd-run "/usr/bin/systemd-run")
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ CLDFLAGS="${LDFLAGS}"
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake V=1 -C include
+
+ if use lvm ; then
+ emake V=1
+ emake V=1 CC="$(tc-getCC)" -C scripts
+ else
+ emake V=1 device-mapper
+ # https://bugs.gentoo.org/878131
+ emake V=1 -C libdm/dm-tools device-mapper
+ fi
+}
+
+src_test() {
+ einfo "Tests are disabled because of device-node mucking, if you want to"
+ einfo "run tests, compile the package and see ${S}/tests"
+}
+
+src_install() {
+ local INSTALL_TARGETS=(
+ # full LVM2
+ $(usev lvm "install install_tmpfiles_configuration")
+ # install systemd related files only when requested, bug #522430
+ $(usev $(usex lvm systemd lvm) "SYSTEMD_GENERATOR_DIR=$(systemd_get_systemgeneratordir) install_systemd_units install_systemd_generators")
+
+ # install dm unconditionally
+ install_device-mapper
+ )
+ emake V=1 DESTDIR="${D}" "${INSTALL_TARGETS[@]}"
+
+ newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
+ newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
+
+ if use lvm ; then
+ newinitd "${FILESDIR}"/dmeventd.initd-2.02.184-r2 dmeventd
+ newinitd "${FILESDIR}"/lvm.rc-2.02.187 lvm
+ newconfd "${FILESDIR}"/lvm.confd-2.02.184-r3 lvm
+ if ! use udev ; then
+ # We keep the variable but remove udev from it.
+ sed -r -i \
+ -e '/^rc_need=/s/\<udev\>//g' \
+ "${ED}"/etc/conf.d/lvm || die "Could not drop udev from rc_need"
+ fi
+
+ newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
+ newinitd "${FILESDIR}"/lvmpolld.initd-2.02.183 lvmpolld
+
+ if use lvm2create-initrd; then
+ dosbin scripts/lvm2create_initrd/lvm2create_initrd
+ doman scripts/lvm2create_initrd/lvm2create_initrd.8
+ newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
+ fi
+
+ if use sanlock; then
+ newinitd "${FILESDIR}"/lvmlockd.initd-2.02.166-r1 lvmlockd
+ fi
+ fi
+
+ if use static-libs; then
+ dolib.a libdm/ioctl/libdevmapper.a
+ if use lvm; then
+ # depends on lvmetad
+ dolib.a libdaemon/client/libdaemonclient.a #462908
+ # depends on dmeventd
+ dolib.a daemons/dmeventd/libdevmapper-event.a
+ fi
+ else
+ rm -f "${ED}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a || die
+ fi
+
+ insinto /etc
+ doins "${FILESDIR}"/dmtab
+
+ dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
+}
+
+pkg_preinst() {
+ HAD_LVM=0
+
+ if has_version 'sys-fs/lvm2[lvm(+)]' ; then
+ HAD_LVM=1
+ fi
+}
+
+pkg_postinst() {
+ use lvm && tmpfiles_process lvm2.conf
+ use udev && udev_reload
+
+ # This is a new installation
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ if use lvm ; then
+ ewarn "Make sure the \"lvm\" init script is in the runlevels:"
+ ewarn "# rc-update add lvm boot"
+ ewarn
+ ewarn "Make sure to enable lvmetad in ${EROOT}/etc/lvm/lvm.conf if you want"
+ ewarn "to enable lvm autoactivation and metadata caching."
+ else
+ ewarn "Please enable USE=lvm if you need the LVM daemon and"
+ ewarn "tools like 'lvchange', 'vgchange', etc!"
+ fi
+ else
+ if ! use lvm && [[ ${HAD_LVM} -eq 1 ]] ; then
+ ewarn "LVM was previously enabled but is now disabled."
+ ewarn "Please enable USE=lvm if you need the LVM daemon and"
+ ewarn "tools like 'lvchange', 'vgchange', etc!"
+ ewarn "See the 2022-11-19-lvm2-default-USE-flags news item for more details."
+ fi
+ fi
+
+ if use udev && [[ -d /run ]] ; then
+ local permission_run_expected="drwxr-xr-x"
+ local permission_run=$(stat -c "%A" /run)
+ if [[ "${permission_run}" != "${permission_run_expected}" ]] ; then
+ ewarn "Found the following problematic permissions:"
+ ewarn ""
+ ewarn " ${permission_run} /run"
+ ewarn ""
+ ewarn "Expected:"
+ ewarn ""
+ ewarn " ${permission_run_expected} /run"
+ ewarn ""
+ ewarn "This is known to cause problems for udev-enabled LVM services."
+ fi
+ fi
+}
+
+pkg_postrm() {
+ if use udev && [[ -z ${REPLACED_BY_VERSION} ]]; then
+ udev_reload
+ fi
+}
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2023-04-13 11:10 David Seifert
0 siblings, 0 replies; 29+ messages in thread
From: David Seifert @ 2023-04-13 11:10 UTC (permalink / raw
To: gentoo-commits
commit: 51b0c9a4812615501458b662e2f25554a77d87e0
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 13 11:10:36 2023 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Thu Apr 13 11:10:36 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=51b0c9a4
sys-fs/lvm2: drop 2.03.17-r2
Signed-off-by: David Seifert <soap <AT> gentoo.org>
sys-fs/lvm2/Manifest | 1 -
.../files/lvm2-2.03.05-dmeventd-no-idle-exit.patch | 81 ------
sys-fs/lvm2/files/lvm2-2.03.12-static-libm.patch | 25 --
.../lvm2-2.03.12-static-pkgconfig-libs-2.patch | 38 ---
sys-fs/lvm2/files/lvm2-2.03.14-freopen_n2.patch | 34 ---
.../files/lvm2-2.03.14-r1-fopen-to-freopen.patch | 43 ---
.../files/lvm2-2.03.14-static-pkgconfig-libs.patch | 124 --------
.../lvm2-2.03.16-dm_lvm_rules_no_systemd.patch | 11 -
.../lvm2/files/lvm2-2.03.16-musl-strerror_r.patch | 23 --
.../lvm2-2.03.17-dynamic-static-ldflags.patch | 50 ----
sys-fs/lvm2/files/lvm2-2.03.17-musl-LOCK_EX.patch | 20 --
sys-fs/lvm2/files/lvm2-2.03.17-readelf.patch | 56 ----
sys-fs/lvm2/lvm2-2.03.17-r2.ebuild | 320 ---------------------
13 files changed, 826 deletions(-)
diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest
index c3f6f492d6d4..43acdc74f34c 100644
--- a/sys-fs/lvm2/Manifest
+++ b/sys-fs/lvm2/Manifest
@@ -1,3 +1,2 @@
-DIST LVM2.2.03.17.tgz 2726793 BLAKE2B 425e52fe2d7832f8440203d2b6ffc3a097903abea8be07bbbf4864001d5f55083954e561a92b0fe4fc467533e465af3958b25cf33d2693f50f077dc3d9b74bd2 SHA512 ce9f4c10a7e89b397fa021098976117c062227da4f25996296dd3678c0aeb826edf9b7e4f5d3992f42156865ae47cb98671ec37a26868710174a473b42cc70a9
DIST LVM2.2.03.19.tgz 2732219 BLAKE2B 7a5bd024312f149d95361ea24a282c8c68e371687fe8f7c853fa0748ce854bc991cdade999835666a5ece569e80dd9be85d4fae7fc5cc75b912de00f170cf66e SHA512 a40691f6f4c9300c95784be0fcb055a2b8e07bfdc87f000f2357ccb54fdb814a679fb79f5c9790a7440ef538e9997e46d56e539814bfdf138b4e76603aeb2994
DIST LVM2.2.03.20.tgz 2739763 BLAKE2B 4dc223eca1a370450c3985a5f962a2450a2ed08f1fa40af98d181a1530960a7caa3e896a3b54f0f333e2d6818bf35378b9c491a1488a4d3815959ab0e1f987de SHA512 202ff19f6ab1e1ecdf448beec6c7db1a80885efda1a6eeabf44cd2cea40577405c388eabd86f59f34c6e9e400188050bc6d1a5d5daf02f2beda87eee73cd1a2d
diff --git a/sys-fs/lvm2/files/lvm2-2.03.05-dmeventd-no-idle-exit.patch b/sys-fs/lvm2/files/lvm2-2.03.05-dmeventd-no-idle-exit.patch
deleted file mode 100644
index ec37e5da1dc7..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.05-dmeventd-no-idle-exit.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From ab3ae0a22dfbe20e2d17e7dc60e0f76184ec098c Mon Sep 17 00:00:00 2001
-From: "Robin H. Johnson" <robbat2@gentoo.org>
-Date: Wed, 24 Jul 2019 11:22:32 +0200
-Subject: [PATCH] dmeventd configurable idle exit time
-
-dmeventd nominally exits after 1 hour of idle time. There are use cases for
-this, esp. with socket activation, but also cases where users don't expect
-dmeventd to exit.
-
-Provide a tuning knob via environment variable, DMEVENTD_IDLE_EXIT_TIMEOUT,
-that can be -1 to not exit, or a configurable time for different idle exit.
-
-Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
-Fixes: https://bugs.gentoo.org/682556
-
-Forward-ported from 2.02.184 to 2.03.05
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- daemons/dmeventd/dmeventd.c | 16 ++++++++++++++--
- man/dmeventd.8_main | 4 ++++
- 2 files changed, 18 insertions(+), 2 deletions(-)
-
-diff --git a/daemons/dmeventd/dmeventd.c b/daemons/dmeventd/dmeventd.c
-index 33859ef414..ac0b9743fc 100644
---- a/daemons/dmeventd/dmeventd.c
-+++ b/daemons/dmeventd/dmeventd.c
-@@ -2158,6 +2158,18 @@ int main(int argc, char *argv[])
- .server_path = DM_EVENT_FIFO_SERVER
- };
- time_t now, idle_exit_timeout = DMEVENTD_IDLE_EXIT_TIMEOUT;
-+
-+ /* Provide a basic way to config the idle timeout */
-+ char* idle_exit_timeout_env = getenv("DMEVENTD_IDLE_EXIT_TIMEOUT") ? : NULL;
-+ if(NULL != idle_exit_timeout_env) {
-+ char* endptr;
-+ idle_exit_timeout = strtol(idle_exit_timeout_env, &endptr, 10);
-+ if (errno == ERANGE || *endptr != '\0') {
-+ fprintf(stderr, "DMEVENTD_IDLE_EXIT_TIMEOUT: bad time input\n");
-+ exit(EXIT_FAILURE);
-+ }
-+ }
-+
- opterr = 0;
- optind = 0;
-
-@@ -2253,7 +2265,7 @@ int main(int argc, char *argv[])
- _process_initial_registrations();
-
- for (;;) {
-- if (_idle_since) {
-+ if (_idle_since || _exit_now) {
- if (_exit_now) {
- if (_exit_now == DM_SCHEDULED_EXIT)
- break; /* Only prints shutdown message */
-@@ -2262,7 +2274,7 @@ int main(int argc, char *argv[])
- (long) (time(NULL) - _idle_since));
- break;
- }
-- if (idle_exit_timeout) {
-+ if (idle_exit_timeout && idle_exit_timeout > 0) {
- now = time(NULL);
- if (now < _idle_since)
- _idle_since = now; /* clock change? */
-diff --git a/man/dmeventd.8_main b/man/dmeventd.8_main
-index dc4abf627e..4b0e522041 100644
---- a/man/dmeventd.8_main
-+++ b/man/dmeventd.8_main
-@@ -178,6 +178,10 @@ is processed.
- Variable is set by thin and vdo plugin to prohibit recursive interation
- with dmeventd by any executed lvm2 command from
- a thin_command, vdo_command environment.
-+.TP
-+.B DMEVENTD_IDLE_EXIT_TIMEOUT
-+Configure the dmeventd idle exit timeout behavior, value in seconds. Default
-+is 3600 (1 hour). -1 means do not exit.
- .
- .SH SEE ALSO
- .
---
-2.22.0
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.12-static-libm.patch b/sys-fs/lvm2/files/lvm2-2.03.12-static-libm.patch
deleted file mode 100644
index 5bb776c9b5ed..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.12-static-libm.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 4917d9c8b6227256a4a83ff937119d6aa53d654e Mon Sep 17 00:00:00 2001
-From: "Robin H. Johnson" <robbat2@gentoo.org>
-Date: Sun, 9 May 2021 11:02:54 +0200
-Subject: [PATCH] Add libm to static libs
-
----
- make.tmpl.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/make.tmpl.in b/make.tmpl.in
-index ae189546d0..8ee00bd9e8 100644
---- a/make.tmpl.in
-+++ b/make.tmpl.in
-@@ -64,7 +64,7 @@ PYCOMPILE = $(top_srcdir)/autoconf/py-compile
- LIBS += @LIBS@ $(SELINUX_LIBS) $(UDEV_LIBS) $(RT_LIBS) $(M_LIBS)
- LVMLIBS = $(DMEVENT_LIBS) $(READLINE_LIBS) $(EDITLINE_LIBS) $(SYSTEMD_LIBS) $(BLKID_LIBS) $(AIO_LIBS) $(LIBS)
- # Extra libraries always linked with static binaries
--STATIC_LIBS = $(PTHREAD_LIBS) $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS)
-+STATIC_LIBS = $(PTHREAD_LIBS) $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS) $(M_LIBS)
- DEFS += @DEFS@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
---
-2.31.1
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.12-static-pkgconfig-libs-2.patch b/sys-fs/lvm2/files/lvm2-2.03.12-static-pkgconfig-libs-2.patch
deleted file mode 100644
index a3a4642e8281..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.12-static-pkgconfig-libs-2.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 27ab05863dc56fcd7254bccf30797f9e3c448cac Mon Sep 17 00:00:00 2001
-From: Mike Gilbert <floppym@gentoo.org>
-Date: Mon, 12 Jul 2021 10:36:04 -0400
-Subject: [PATCH] libdm: add SELINUX_STATIC_LIBS and UDEV_STATIC_LIBS to
- make.tmpl.in
-
-Fixes link failure for dmsetup.static.
----
- libdm/make.tmpl.in | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/libdm/make.tmpl.in b/libdm/make.tmpl.in
-index a306101d5..2309fb3e5 100644
---- a/libdm/make.tmpl.in
-+++ b/libdm/make.tmpl.in
-@@ -55,7 +55,7 @@ RM = rm -f
-
- LIBS += @LIBS@ $(PTHREAD_LIBS) $(SELINUX_LIBS) $(UDEV_LIBS) $(RT_LIBS) $(M_LIBS)
- # Extra libraries always linked with static binaries
--STATIC_LIBS = $(PTHREAD_LIBS)
-+STATIC_LIBS = $(PTHREAD_LIBS) $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS)
- DEFS += @DEFS@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
-@@ -71,8 +71,10 @@ PTHREAD_LIBS = @PTHREAD_LIBS@
- READLINE_LIBS = @READLINE_LIBS@
- EDITLINE_LIBS = @EDITLINE_LIBS@
- SELINUX_LIBS = @SELINUX_LIBS@
-+SELINUX_STATIC_LIBS = @SELINUX_STATIC_LIBS@
- UDEV_CFLAGS = @UDEV_CFLAGS@
- UDEV_LIBS = @UDEV_LIBS@
-+UDEV_STATIC_LIBS = @UDEV_STATIC_LIBS@
- BLKID_CFLAGS = @BLKID_CFLAGS@
- BLKID_LIBS = @BLKID_LIBS@
- SYSTEMD_LIBS = @SYSTEMD_LIBS@
---
-2.32.0
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-freopen_n2.patch b/sys-fs/lvm2/files/lvm2-2.03.14-freopen_n2.patch
deleted file mode 100644
index 5ca32f19fc54..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.14-freopen_n2.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-In musl, the standard streams are read-only. To modify them we need to
-use freopen. This patch does the same as lvm2-2.03.14-r1-fopen-to-freopen.patch
-
-https://listman.redhat.com/archives/lvm-devel/2022-June/024203.html
-
-See also:
-https://wiki.gentoo.org/wiki/User:Sam/Musl_porting_notes#error:_assignment_of_read-only_variable_.27.5Bstdout.7Cstdin.7Cstderr.5D.27
-https://www.gnu.org/software/libc/manual/html_node/Standard-Streams.html
-
----
- lib/log/log.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/lib/log/log.c b/lib/log/log.c
-index 7b4d537..897c183 100644
---- a/lib/log/log.c
-+++ b/lib/log/log.c
-@@ -207,8 +207,12 @@ int reopen_standard_stream(FILE **stream, const char *mode)
- }
-
- _check_and_replace_standard_log_streams(old_stream, new_stream);
--
-+
-+#ifdef __GLIBC__
- *stream = new_stream;
-+#else
-+ freopen(NULL, mode, *stream);
-+#endif
- return 1;
- }
-
---
-2.35.1
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-r1-fopen-to-freopen.patch b/sys-fs/lvm2/files/lvm2-2.03.14-r1-fopen-to-freopen.patch
deleted file mode 100644
index 56248e10e5d6..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.14-r1-fopen-to-freopen.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-In musl stdout, stdin and stderr are read-only unlike in glibc.
-This patch changes std* = fopen(...) to freopen(..., std*).
-
-See: https://www.gnu.org/software/libc/manual/html_node/Standard-Streams.html and https://wiki.gentoo.org/wiki/User:Sam/Musl_porting_notes
-
----
- tools/lvmcmdline.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c
-index 1e12bed..19da1e5 100644
---- a/tools/lvmcmdline.c
-+++ b/tools/lvmcmdline.c
-@@ -3384,7 +3384,7 @@ static int _check_standard_fds(void)
- int err = is_valid_fd(STDERR_FILENO);
-
- if (!is_valid_fd(STDIN_FILENO) &&
-- !(stdin = fopen(_PATH_DEVNULL, "r"))) {
-+ !freopen(_PATH_DEVNULL, "r", stdin)) {
- if (err)
- perror("stdin stream open");
- else
-@@ -3394,7 +3394,7 @@ static int _check_standard_fds(void)
- }
-
- if (!is_valid_fd(STDOUT_FILENO) &&
-- !(stdout = fopen(_PATH_DEVNULL, "w"))) {
-+ !freopen(_PATH_DEVNULL, "w", stdout)) {
- if (err)
- perror("stdout stream open");
- /* else no stdout */
-@@ -3402,7 +3402,7 @@ static int _check_standard_fds(void)
- }
-
- if (!is_valid_fd(STDERR_FILENO) &&
-- !(stderr = fopen(_PATH_DEVNULL, "w"))) {
-+ !freopen(_PATH_DEVNULL, "w", stderr)) {
- printf("stderr stream open: %s\n",
- strerror(errno));
- return 0;
---
-2.35.1
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-static-pkgconfig-libs.patch b/sys-fs/lvm2/files/lvm2-2.03.14-static-pkgconfig-libs.patch
deleted file mode 100644
index e259547a47b0..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.14-static-pkgconfig-libs.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-From ac7cce039825ff779795b5c2ae0ecf00ba43a401 Mon Sep 17 00:00:00 2001
-From: "Robin H. Johnson" <robbat2@gentoo.org>
-Date: Sun, 9 May 2021 11:00:22 +0200
-Subject: [PATCH] Use pkgconfig to detect static libs
-
----
- configure.ac | 20 ++++++++++++++++++--
- make.tmpl.in | 5 ++++-
- 2 files changed, 22 insertions(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 6cdf1a7e65..90452ebf7c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1168,6 +1168,7 @@ if test "$BLKID_WIPING" != no; then
- PKG_CHECK_MODULES(BLKID, blkid >= 2.24,
- [ BLKID_WIPING=yes
- BLKID_PC="blkid"
-+ BLKID_STATIC_LIBS=`$PKG_CONFIG --static --libs $BLKID_PC`
- DEFAULT_USE_BLKID_WIPING=1
- AC_DEFINE([BLKID_WIPING_SUPPORT], 1, [Define to 1 to use libblkid detection of signatures when wiping.])
- ], [if test "$BLKID_WIPING" = maybe; then
-@@ -1213,6 +1214,7 @@ AC_MSG_RESULT($UDEV_SYNC)
- if test "$UDEV_SYNC" = yes; then
- pkg_config_init
- PKG_CHECK_MODULES(UDEV, libudev >= 143, [UDEV_PC="libudev"])
-+ UDEV_STATIC_LIBS=`$PKG_CONFIG --static --libs libudev`
- AC_DEFINE([UDEV_SYNC_SUPPORT], 1, [Define to 1 to enable synchronisation with udev processing.])
-
- AC_CHECK_LIB(udev, udev_device_get_is_initialized, AC_DEFINE([HAVE_LIBUDEV_UDEV_DEVICE_GET_IS_INITIALIZED], 1,
-@@ -1432,19 +1434,30 @@ dnl -- Check for selinux
- if test "$SELINUX" = yes; then
- AC_CHECK_LIB([sepol], [sepol_check_context], [
- AC_DEFINE([HAVE_SEPOL], 1, [Define to 1 if sepol_check_context is available.])
-- SELINUX_LIBS="-lsepol"])
-+ SEPOL_LIBS="-lsepol"])
-+
-+ dnl -- init pkgconfig if required
-+ AS_IF([test x$PKGCONFIG_INIT != x1], [pkg_config_init])
-+ PKG_CHECK_MODULES(SELINUX, libselinux, [
-+ SELINUX_PC="libselinux"
-+ SELINUX_STATIC_LIBS=`$PKG_CONFIG --static --libs libselinux`
-+ SELINUX_LIBS="$SELINUX_LIBS $SEPOL_LIBS"
-+ AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-+ ], [
-+ dnl -- old non-pkgconfig method, is buggy with static builds
-
- AC_CHECK_LIB([selinux], [is_selinux_enabled], [
- AC_CHECK_HEADERS([selinux/selinux.h],, hard_bailout)
- AC_CHECK_HEADERS([selinux/label.h])
- AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-- SELINUX_LIBS="-lselinux $SELINUX_LIBS"
-+ SELINUX_LIBS="-lselinux $SEPOL_LIBS"
- SELINUX_PC="libselinux"
- HAVE_SELINUX=yes ], [
- AC_MSG_WARN(Disabling selinux)
- SELINUX_LIBS=
- SELINUX_PC=
- HAVE_SELINUX=no ])
-+ ])
- fi
-
- ################################################################################
-@@ -1834,6 +1847,7 @@ AC_ARG_VAR([UDEV_LIBS], [linker flags for udev])
- ################################################################################
- AC_SUBST(AWK)
- AC_SUBST(BLKID_PC)
-+AC_SUBST(BLKID_STATIC_LIBS)
- AC_SUBST(BUILD_CMIRRORD)
- AC_SUBST(BUILD_DMEVENTD)
- AC_SUBST(BUILD_LVMDBUSD)
-@@ -1934,6 +1948,7 @@ AC_SUBST(SALCK_LIBS)
- AC_SUBST(SBINDIR)
- AC_SUBST(SELINUX_LIBS)
- AC_SUBST(SELINUX_PC)
-+AC_SUBST(SELINUX_STATIC_LIBS)
- AC_SUBST(SYSCONFDIR)
- AC_SUBST(SNAPSHOTS)
- AC_SUBST(STATICDIR)
-@@ -1950,6 +1965,7 @@ AC_SUBST(CACHE_REPAIR_CMD)
- AC_SUBST(CACHE_RESTORE_CMD)
- AC_SUBST(UDEV_PC)
- AC_SUBST(UDEV_RULES)
-+AC_SUBST(UDEV_STATIC_LIBS)
- AC_SUBST(UDEV_SYNC)
- AC_SUBST(UDEV_SYSTEMD_BACKGROUND_JOBS)
- AC_SUBST(UDEV_RULE_EXEC_DETECTION)
-diff --git a/make.tmpl.in b/make.tmpl.in
-index cccda10d6f..bf6c3e5596 100644
---- a/make.tmpl.in
-+++ b/make.tmpl.in
-@@ -64,7 +64,7 @@ PYCOMPILE = $(top_srcdir)/autoconf/py-compile
- LIBS += @LIBS@ $(SELINUX_LIBS) $(UDEV_LIBS) $(RT_LIBS) $(M_LIBS)
- LVMLIBS = $(DMEVENT_LIBS) $(READLINE_LIBS) $(EDITLINE_LIBS) $(SYSTEMD_LIBS) $(BLKID_LIBS) $(AIO_LIBS) $(LIBS)
- # Extra libraries always linked with static binaries
--STATIC_LIBS = $(PTHREAD_LIBS)
-+STATIC_LIBS = $(PTHREAD_LIBS) $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS)
- DEFS += @DEFS@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
-@@ -82,6 +82,7 @@ AIO_CFLAGS = @AIO_CFLAGS@
- AIO_LIBS = @AIO_LIBS@
- BLKID_CFLAGS = @BLKID_CFLAGS@
- BLKID_LIBS = @BLKID_LIBS@
-+BLKID_STATIC_LIBS = @BLKID_STATIC_LIBS@
- CPG_CFLAGS = @CPG_CFLAGS@
- CPG_LIBS = @CPG_LIBS@
- EDITLINE_CFLAGS = @EDITLINE_CFLAGS@
-@@ -90,10 +91,12 @@ PTHREAD_LIBS = @PTHREAD_LIBS@
- READLINE_CFLAGS = @READLINE_CFLAGS@
- READLINE_LIBS = @READLINE_LIBS@
- SELINUX_LIBS = @SELINUX_LIBS@
-+SELINUX_STATIC_LIBS = @SELINUX_STATIC_LIBS@
- SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@
- SYSTEMD_LIBS = @SYSTEMD_LIBS@
- UDEV_CFLAGS = @UDEV_CFLAGS@
- UDEV_LIBS = @UDEV_LIBS@
-+UDEV_STATIC_LIBS = @UDEV_STATIC_LIBS@
- VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
- VALGRIND_LIBS = @VALGRIND_LIBS@
-
---
-2.33.1
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.16-dm_lvm_rules_no_systemd.patch b/sys-fs/lvm2/files/lvm2-2.03.16-dm_lvm_rules_no_systemd.patch
deleted file mode 100644
index c4f74a49b8d0..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.16-dm_lvm_rules_no_systemd.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- LVM2.2.03.16/udev/69-dm-lvm.rules.in.orig 2022-10-26 15:58:07.504434946 -0700
-+++ LVM2.2.03.16/udev/69-dm-lvm.rules.in 2022-10-26 16:01:52.122204592 -0700
-@@ -80,7 +80,7 @@
- # it's better suited to appearing in the journal.
-
- IMPORT{program}="(LVM_EXEC)/lvm pvscan --cache --listvg --checkcomplete --vgonline --autoactivation event --udevoutput --journal=output $env{DEVNAME}"
--ENV{LVM_VG_NAME_COMPLETE}=="?*", RUN+="/usr/bin/systemd-run --no-block --property DefaultDependencies=no --unit lvm-activate-$env{LVM_VG_NAME_COMPLETE} (LVM_EXEC)/lvm vgchange -aay --autoactivation event $env{LVM_VG_NAME_COMPLETE}"
-+ENV{LVM_VG_NAME_COMPLETE}=="?*", RUN+="(LVM_EXEC)/lvm vgchange -aay --nohints --autoactivation event $env{LVM_VG_NAME_COMPLETE}"
- GOTO="lvm_end"
-
- LABEL="lvm_end"
diff --git a/sys-fs/lvm2/files/lvm2-2.03.16-musl-strerror_r.patch b/sys-fs/lvm2/files/lvm2-2.03.16-musl-strerror_r.patch
deleted file mode 100644
index d485e75ca811..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.16-musl-strerror_r.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From a06e401bd0479f25631bdfeffaa01d150e5efe59 Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Fri, 18 Nov 2022 17:57:34 +0000
-Subject: [PATCH] Fix strerror_r check for musl
-
-We can't assume that strerror_r returns char* just because _GNU_SOURCE is defined. We already call the appropriate autoconf test, so let's use its result
-(STRERROR_R_CHAR_P).
-
-Note that in configure, _GNU_SOURCE is always set, but we add a defined guard just in case for futureproofing.
-
-Bug: https://bugs.gentoo.org/869404
-Signed-off-by: Sam James <sam@gentoo.org>
---- a/daemons/lvmpolld/lvmpolld-core.c
-+++ b/daemons/lvmpolld/lvmpolld-core.c
-@@ -52,7 +52,7 @@ static pthread_key_t key;
-
- static const char *_strerror_r(int errnum, struct lvmpolld_thread_data *data)
- {
--#ifdef _GNU_SOURCE
-+#if defined(_GNU_SOURCE) && defined(STRERROR_R_CHAR_P)
- return strerror_r(errnum, data->buf, sizeof(data->buf)); /* never returns NULL */
- #elif (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)
- return strerror_r(errnum, data->buf, sizeof(data->buf)) ? "" : data->buf;
diff --git a/sys-fs/lvm2/files/lvm2-2.03.17-dynamic-static-ldflags.patch b/sys-fs/lvm2/files/lvm2-2.03.17-dynamic-static-ldflags.patch
deleted file mode 100644
index e3228945a325..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.17-dynamic-static-ldflags.patch
+++ /dev/null
@@ -1,50 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -32,6 +32,7 @@
- linux*)
- # equivalent to -rdynamic
- ELDFLAGS="-Wl,--export-dynamic"
-+ STATIC_LDFLAGS="-Wl,--no-export-dynamic"
- # FIXME Generate list and use --dynamic-list=.dlopen.sym
- CLDWHOLEARCHIVE="-Wl,-whole-archive"
- CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive"
-@@ -1945,6 +1946,7 @@
- AC_SUBST(SYSCONFDIR)
- AC_SUBST(SNAPSHOTS)
- AC_SUBST(STATICDIR)
-+AC_SUBST(STATIC_LDFLAGS)
- AC_SUBST(STATIC_LINK)
- AC_SUBST(TESTSUITE_DATA)
- AC_SUBST(THIN)
---- a/daemons/dmeventd/Makefile.in
-+++ b/daemons/dmeventd/Makefile.in
-@@ -76,7 +76,7 @@
-
- dmeventd.static: $(LIB_STATIC) dmeventd.o
- @echo " [CC] $@"
-- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static dmeventd.o \
-+ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static dmeventd.o \
- -o $@ $(DL_LIBS) $(DMEVENT_LIBS) $(LIBS) $(STATIC_LIBS)
-
- ifeq ("@PKGCONFIG@", "yes")
---- a/make.tmpl.in
-+++ b/make.tmpl.in
-@@ -64,6 +64,7 @@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
- LDFLAGS ?= @LDFLAGS@
-+STATIC_LDFLAGS += @STATIC_LDFLAGS@
- CLDFLAGS += @CLDFLAGS@
- ELDFLAGS += @ELDFLAGS@
- LDDEPS += @LDDEPS@
---- a/tools/Makefile.in
-+++ b/tools/Makefile.in
-@@ -137,7 +137,7 @@
-
- lvm.static: $(OBJECTS) lvm-static.o $(LVMINTERNAL_LIBS)
- @echo " [CC] $@"
-- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) \
-+ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) \
- -o $@ $+ $(LVMLIBS) $(STATIC_LIBS)
-
- liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
diff --git a/sys-fs/lvm2/files/lvm2-2.03.17-musl-LOCK_EX.patch b/sys-fs/lvm2/files/lvm2-2.03.17-musl-LOCK_EX.patch
deleted file mode 100644
index acb5e903b45a..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.17-musl-LOCK_EX.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-https://bugs.gentoo.org/887259
-
-From ab715e56feec4bbb135cc97d2d1e8e7340a8ee44 Mon Sep 17 00:00:00 2001
-From: Jory Pratt <anarchy@gentoo.org>
-Date: Tue, 20 Dec 2022 08:12:49 -0600
-Subject: [PATCH] Add missing include for LOCK_EX
-
-Signed-off-by: Jory Pratt <anarchy@gentoo.org>
---- a/tools/vgimportdevices.c
-+++ b/tools/vgimportdevices.c
-@@ -15,6 +15,7 @@
- #include "tools.h"
- #include "lib/cache/lvmcache.h"
- #include "lib/device/device_id.h"
-+#include <sys/file.h>
-
- struct vgimportdevices_params {
- uint32_t added_devices;
---
-2.38.2
diff --git a/sys-fs/lvm2/files/lvm2-2.03.17-readelf.patch b/sys-fs/lvm2/files/lvm2-2.03.17-readelf.patch
deleted file mode 100644
index 82870b108e09..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.17-readelf.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 2de7e5c222ff114f41dadcf904061d6c2a77eae2 Mon Sep 17 00:00:00 2001
-From: David Seifert <soap@gentoo.org>
-Date: Sat, 19 Nov 2022 17:05:31 +0100
-Subject: [PATCH 1/2] Allow for overriding of `readelf`
-
-* This allows users to use e.g. `llvm-readelf` on systems with binutils as default.
-
-Bug: https://bugs.gentoo.org/840628
----
- configure.ac | 1 +
- libdm/Makefile.in | 4 ++--
- libdm/make.tmpl.in | 1 +
- 3 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 704772b62..f39c87d08 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -83,6 +83,7 @@ AC_PROG_LN_S
- AC_PROG_MAKE_SET
- AC_PROG_MKDIR_P
- AC_PROG_RANLIB
-+AC_CHECK_TOOL([READELF], [readelf])
- AC_CHECK_TOOL(AR, ar)
- AC_PATH_TOOL(CFLOW_CMD, cflow)
- AC_PATH_TOOL(CSCOPE_CMD, cscope)
-diff --git a/libdm/Makefile.in b/libdm/Makefile.in
-index 35115d7f0..2758648e6 100644
---- a/libdm/Makefile.in
-+++ b/libdm/Makefile.in
-@@ -71,8 +71,8 @@ libdevmapper.$(LIB_SUFFIX) libdevmapper.$(LIB_SUFFIX).$(LIB_VERSION): $(LIB_SHAR
- # also the older symbol is built-in
- .symver_check: $(LIB_SHARED)
- @echo " [CHECK] $<"
-- $(Q) if readelf -Ws $< | grep -q dm_stats_create_region@@; then \
-- SYM=$$(readelf -Ws $< | grep dm_stats_create_region@DM_1_02_106); \
-+ $(Q) if $(READELF) -Ws $< | grep -q dm_stats_create_region@@; then \
-+ SYM=$$($(READELF) -Ws $< | grep dm_stats_create_region@DM_1_02_106); \
- if test -n "$$SYM"; then touch $@; \
- else echo >&2 "Missing versioned symbols in $<"; false; fi; \
- else touch $@; fi
-diff --git a/libdm/make.tmpl.in b/libdm/make.tmpl.in
-index f1c88fac0..095fb028a 100644
---- a/libdm/make.tmpl.in
-+++ b/libdm/make.tmpl.in
-@@ -34,6 +34,7 @@ ifeq ($(CC), cc)
- endif
-
- RANLIB = @RANLIB@
-+READELF = @READELF@
- INSTALL = @INSTALL@
- MKDIR_P = @MKDIR_P@
- MSGFMT = @MSGFMT@
---
-2.38.1
-
diff --git a/sys-fs/lvm2/lvm2-2.03.17-r2.ebuild b/sys-fs/lvm2/lvm2-2.03.17-r2.ebuild
deleted file mode 100644
index 27f458ee325f..000000000000
--- a/sys-fs/lvm2/lvm2-2.03.17-r2.ebuild
+++ /dev/null
@@ -1,320 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-TMPFILES_OPTIONAL=1
-inherit autotools linux-info systemd toolchain-funcs tmpfiles udev flag-o-matic
-
-DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
-HOMEPAGE="https://sourceware.org/lvm2/"
-SRC_URI="https://sourceware.org/ftp/lvm2/${PN^^}.${PV}.tgz"
-S="${WORKDIR}/${PN^^}.${PV}"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="lvm lvm2create-initrd readline sanlock selinux static static-libs systemd thin +udev"
-REQUIRED_USE="
- static? ( !systemd !udev )
- static-libs? ( static !udev )
- systemd? ( udev )
- thin? ( lvm )"
-
-DEPEND_COMMON="
- udev? ( virtual/libudev:= )
- lvm? (
- dev-libs/libaio
- sys-apps/util-linux
- readline? ( sys-libs/readline:= )
- sanlock? ( sys-cluster/sanlock )
- systemd? ( sys-apps/systemd:= )
- )"
-# /run is now required for locking during early boot. /var cannot be assumed to
-# be available -- thus, pull in recent enough baselayout for /run.
-# This version of LVM is incompatible with cryptsetup <1.1.2.
-RDEPEND="${DEPEND_COMMON}
- >=sys-apps/baselayout-2.2
- lvm? (
- virtual/tmpfiles
- lvm2create-initrd? ( sys-apps/makedev )
- thin? ( sys-block/thin-provisioning-tools )
- )"
-# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
-DEPEND="${DEPEND_COMMON}
- static? (
- lvm? (
- dev-libs/libaio[static-libs]
- sys-apps/util-linux[static-libs]
- readline? ( sys-libs/readline[static-libs] )
- )
- selinux? ( sys-libs/libselinux[static-libs] )
- )"
-BDEPEND="
- sys-devel/autoconf-archive
- virtual/pkgconfig"
-
-PATCHES=(
- # Gentoo specific modification(s):
- "${FILESDIR}"/${PN}-2.03.17-example.conf.in.patch
-
- # For upstream -- review and forward:
- "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
- "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
- "${FILESDIR}"/${PN}-2.03.17-locale-muck.patch #330373
- "${FILESDIR}"/${PN}-2.03.17-dynamic-static-ldflags.patch #332905
- "${FILESDIR}"/${PN}-2.03.14-static-pkgconfig-libs.patch #370217, #439414 + blkid
- "${FILESDIR}"/${PN}-2.03.12-static-pkgconfig-libs-2.patch
- "${FILESDIR}"/${PN}-2.03.17-pthread-pkgconfig.patch #492450
- "${FILESDIR}"/${PN}-2.03.12-static-libm.patch #617756
- "${FILESDIR}"/${PN}-2.03.05-dmeventd-no-idle-exit.patch
- "${FILESDIR}"/${PN}-2.03.14-r1-fopen-to-freopen.patch
- "${FILESDIR}"/${PN}-2.03.14-freopen_n2.patch
- "${FILESDIR}"/${PN}-2.03.16-musl-strerror_r.patch
- "${FILESDIR}"/${PN}-2.03.17-readelf.patch
- "${FILESDIR}"/${PN}-2.03.17-musl-LOCK_EX.patch #887259
-)
-
-QA_CONFIGURE_OPTIONS="--disable-static"
-
-pkg_setup() {
- local CONFIG_CHECK="~SYSVIPC"
-
- if use udev; then
- local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
- if linux_config_exists; then
- local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
- if [[ -n "${uevent_helper_path}" ]] && [[ "${uevent_helper_path}" != '""' ]]; then
- ewarn "It's recommended to set an empty value to the following kernel config option:"
- ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
- fi
- fi
- fi
-
- check_extra_config
-
- # 1. Genkernel no longer copies /sbin/lvm blindly.
- if use static; then
- elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
- elog "their static versions. If you need the static binaries,"
- elog "you must append .static to the filename!"
- fi
-}
-
-src_prepare() {
- default
-
- # Users without systemd get no auto-activation of any logical volume
- if ! use systemd ; then
- eapply "${FILESDIR}"/${PN}-2.03.16-dm_lvm_rules_no_systemd.patch
- sed -i -e '/^USE_SD_NOTIFY=yes$/s/yes/no/' daemons/lvmlockd/Makefile.in || die
- fi
-
- sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
-
- eautoreconf
-}
-
-src_configure() {
- filter-flags -flto
-
- # Workaround for bug #822210
- tc-ld-disable-gold
-
- # Most of this package does weird stuff.
- # The build options are tristate, and --without is NOT supported
- # options: 'none', 'internal', 'shared'
- local myeconfargs=(
- $(use_enable lvm dmfilemapd)
- $(use_enable lvm dmeventd)
- $(use_enable lvm cmdlib)
- $(use_enable lvm fsadm)
- $(use_enable lvm lvmpolld)
- $(usev !lvm --disable-udev-systemd-background-jobs)
-
- # This only causes the .static versions to become available
- $(usev static --enable-static_link)
-
- # dmeventd requires mirrors to be internal, and snapshot available
- # so we cannot disable them
- --with-mirrors="$(usex lvm internal none)"
- --with-snapshots="$(usex lvm internal none)"
- )
-
- if use lvm && use thin; then
- myeconfargs+=( --with-thin=internal --with-cache=internal )
- local texec
- for texec in check dump repair restore; do
- myeconfargs+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
- myeconfargs+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
- done
- else
- myeconfargs+=( --with-thin=none --with-cache=none )
- fi
-
- myeconfargs+=(
- # musl doesn't do symbol versioning so can end up with
- # runtime breakage.
- --with-symvers=$(usex elibc_glibc 'gnu' 'no')
- $(use_enable readline)
- $(use_enable selinux)
- --enable-pkgconfig
- --with-confdir="${EPREFIX}"/etc
- --exec-prefix="${EPREFIX}"
- --sbindir="${EPREFIX}/sbin"
- --with-staticdir="${EPREFIX}"/sbin
- --libdir="${EPREFIX}/$(get_libdir)"
- --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)"
- --with-default-dm-run-dir=/run
- --with-default-run-dir=/run/lvm
- --with-default-locking-dir=/run/lock/lvm
- --with-default-pid-dir=/run
- $(use_enable udev udev_rules)
- $(use_enable udev udev_sync)
- $(use_with udev udevdir "${EPREFIX}$(get_udevdir)"/rules.d)
- # USE=sanlock requires USE=lvm
- $(use_enable $(usex lvm sanlock lvm) lvmlockd-sanlock)
- $(use_enable systemd udev-systemd-background-jobs)
- $(use_enable systemd notify-dbus)
- $(use_enable systemd app-machineid)
- $(use_enable systemd systemd-journal)
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
- CLDFLAGS="${LDFLAGS}"
- )
-
- # Hard-wire this to bash as some shells (dash) don't know
- # "-o pipefail" #682404
- CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- emake V=1 -C include
-
- if use lvm ; then
- emake V=1
- emake V=1 CC="$(tc-getCC)" -C scripts
- else
- emake V=1 device-mapper
- # https://bugs.gentoo.org/878131
- emake V=1 -C libdm/dm-tools device-mapper
- fi
-}
-
-src_test() {
- einfo "Tests are disabled because of device-node mucking, if you want to"
- einfo "run tests, compile the package and see ${S}/tests"
-}
-
-src_install() {
- local INSTALL_TARGETS=(
- # full LVM2
- $(usev lvm "install install_tmpfiles_configuration")
- # install systemd related files only when requested, bug #522430
- $(usev $(usex lvm systemd lvm) "SYSTEMD_GENERATOR_DIR=$(systemd_get_systemgeneratordir) install_systemd_units install_systemd_generators")
-
- # install dm unconditionally
- install_device-mapper
- )
- emake V=1 DESTDIR="${D}" "${INSTALL_TARGETS[@]}"
-
- newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
- newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
-
- if use lvm ; then
- newinitd "${FILESDIR}"/dmeventd.initd-2.02.184-r2 dmeventd
- newinitd "${FILESDIR}"/lvm.rc-2.02.187 lvm
- newconfd "${FILESDIR}"/lvm.confd-2.02.184-r3 lvm
- if ! use udev ; then
- # We keep the variable but remove udev from it.
- sed -r -i \
- -e '/^rc_need=/s/\<udev\>//g' \
- "${ED}"/etc/conf.d/lvm || die "Could not drop udev from rc_need"
- fi
-
- newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
- newinitd "${FILESDIR}"/lvmpolld.initd-2.02.183 lvmpolld
-
- if use lvm2create-initrd; then
- dosbin scripts/lvm2create_initrd/lvm2create_initrd
- doman scripts/lvm2create_initrd/lvm2create_initrd.8
- newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
- fi
-
- if use sanlock; then
- newinitd "${FILESDIR}"/lvmlockd.initd-2.02.166-r1 lvmlockd
- fi
- fi
-
- if use static-libs; then
- dolib.a libdm/ioctl/libdevmapper.a
- if use lvm; then
- # depends on lvmetad
- dolib.a libdaemon/client/libdaemonclient.a #462908
- # depends on dmeventd
- dolib.a daemons/dmeventd/libdevmapper-event.a
- fi
- else
- rm -f "${ED}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a || die
- fi
-
- insinto /etc
- doins "${FILESDIR}"/dmtab
-
- dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
-}
-
-pkg_preinst() {
- HAD_LVM=0
-
- if has_version 'sys-fs/lvm2[lvm(+)]' ; then
- HAD_LVM=1
- fi
-}
-
-pkg_postinst() {
- use lvm && tmpfiles_process lvm2.conf
- use udev && udev_reload
-
- # This is a new installation
- if [[ -z "${REPLACING_VERSIONS}" ]]; then
- if use lvm ; then
- ewarn "Make sure the \"lvm\" init script is in the runlevels:"
- ewarn "# rc-update add lvm boot"
- ewarn
- ewarn "Make sure to enable lvmetad in ${EROOT}/etc/lvm/lvm.conf if you want"
- ewarn "to enable lvm autoactivation and metadata caching."
- else
- ewarn "Please enable USE=lvm if you need the LVM daemon and"
- ewarn "tools like 'lvchange', 'vgchange', etc!"
- fi
- else
- if ! use lvm && [[ ${HAD_LVM} -eq 1 ]] ; then
- ewarn "LVM was previously enabled but is now disabled."
- ewarn "Please enable USE=lvm if you need the LVM daemon and"
- ewarn "tools like 'lvchange', 'vgchange', etc!"
- ewarn "See the 2022-11-19-lvm2-default-USE-flags news item for more details."
- fi
- fi
-
- if use udev && [[ -d /run ]] ; then
- local permission_run_expected="drwxr-xr-x"
- local permission_run=$(stat -c "%A" /run)
- if [[ "${permission_run}" != "${permission_run_expected}" ]] ; then
- ewarn "Found the following problematic permissions:"
- ewarn ""
- ewarn " ${permission_run} /run"
- ewarn ""
- ewarn "Expected:"
- ewarn ""
- ewarn " ${permission_run_expected} /run"
- ewarn ""
- ewarn "This is known to cause problems for udev-enabled LVM services."
- fi
- fi
-}
-
-pkg_postrm() {
- if use udev && [[ -z ${REPLACED_BY_VERSION} ]]; then
- udev_reload
- fi
-}
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2023-05-10 8:57 David Seifert
0 siblings, 0 replies; 29+ messages in thread
From: David Seifert @ 2023-05-10 8:57 UTC (permalink / raw
To: gentoo-commits
commit: fcac868e886c7056c5ff1291e76df53f28152f63
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Wed May 10 08:56:53 2023 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Wed May 10 08:56:53 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fcac868e
sys-fs/lvm2: drop 2.03.19
Signed-off-by: David Seifert <soap <AT> gentoo.org>
sys-fs/lvm2/Manifest | 1 -
.../files/lvm2-2.03.17-pthread-pkgconfig.patch | 31 ---
.../lvm2-2.03.19-dynamic-static-ldflags.patch | 50 ----
.../files/lvm2-2.03.19-static-pkgconfig-libs.patch | 130 ---------
sys-fs/lvm2/lvm2-2.03.19.ebuild | 306 ---------------------
5 files changed, 518 deletions(-)
diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest
index 0ed5e8cc1061..01f7b2833c23 100644
--- a/sys-fs/lvm2/Manifest
+++ b/sys-fs/lvm2/Manifest
@@ -1,3 +1,2 @@
-DIST LVM2.2.03.19.tgz 2732219 BLAKE2B 7a5bd024312f149d95361ea24a282c8c68e371687fe8f7c853fa0748ce854bc991cdade999835666a5ece569e80dd9be85d4fae7fc5cc75b912de00f170cf66e SHA512 a40691f6f4c9300c95784be0fcb055a2b8e07bfdc87f000f2357ccb54fdb814a679fb79f5c9790a7440ef538e9997e46d56e539814bfdf138b4e76603aeb2994
DIST LVM2.2.03.20.tgz 2739763 BLAKE2B 4dc223eca1a370450c3985a5f962a2450a2ed08f1fa40af98d181a1530960a7caa3e896a3b54f0f333e2d6818bf35378b9c491a1488a4d3815959ab0e1f987de SHA512 202ff19f6ab1e1ecdf448beec6c7db1a80885efda1a6eeabf44cd2cea40577405c388eabd86f59f34c6e9e400188050bc6d1a5d5daf02f2beda87eee73cd1a2d
DIST LVM2.2.03.21.tgz 2742294 BLAKE2B 529bc01b3d1ba6207c9ddc95309b39e6293fcd0286334240b9fdc076da0b7bc7e026338ec0243564ec153f2fb5009014149c3f8e0db0cd47a29418af62068728 SHA512 6024811c3fa92afd2fc13a10d1c3542352aa9a016f40c3ef588bd2f5f3e41245fed4b36c8a87d9f7f8dddc6e13b7253396f5c811f99665df27751676dc7b5bde
diff --git a/sys-fs/lvm2/files/lvm2-2.03.17-pthread-pkgconfig.patch b/sys-fs/lvm2/files/lvm2-2.03.17-pthread-pkgconfig.patch
deleted file mode 100644
index 828cf66667b1..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.17-pthread-pkgconfig.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Add pthread to libdevmapper pkgconfig file
-
---- a/libdm/libdevmapper.pc.in
-+++ b/libdm/libdevmapper.pc.in
-@@ -9,4 +9,4 @@
- Cflags: -I${includedir}
- Libs: -L${libdir} -ldevmapper
- Requires.private: @SELINUX_PC@ @UDEV_PC@
--Libs.private: -lm @RT_LIBS@
-+Libs.private: -lm @RT_LIBS@ @PTHREAD_LIBS@
---- a/tools/Makefile.in
-+++ b/tools/Makefile.in
-@@ -89,6 +89,7 @@
- TARGETS += lvm.static
- INSTALL_LVM_TARGETS += install_tools_static
- INSTALL_CMDLIB_TARGETS += install_cmdlib_static
-+ STATIC_LIBS += @PTHREAD_LIBS@
- endif
-
- LIB_VERSION = $(LIB_VERSION_LVM)
-@@ -114,6 +115,10 @@
-
- include $(top_builddir)/make.tmpl
-
-+ifeq ("@STATIC_LINK@", "yes")
-+ STATIC_LIBS += @PTHREAD_LIBS@
-+endif
-+
- device-mapper:
-
- all: device-mapper
diff --git a/sys-fs/lvm2/files/lvm2-2.03.19-dynamic-static-ldflags.patch b/sys-fs/lvm2/files/lvm2-2.03.19-dynamic-static-ldflags.patch
deleted file mode 100644
index 3aae81984506..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.19-dynamic-static-ldflags.patch
+++ /dev/null
@@ -1,50 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -32,6 +32,7 @@
- [linux*], [
- # equivalent to -rdynamic
- ELDFLAGS="-Wl,--export-dynamic"
-+ STATIC_LDFLAGS="-Wl,--no-export-dynamic"
- # FIXME Generate list and use --dynamic-list=.dlopen.sym
- CLDWHOLEARCHIVE="-Wl,-whole-archive"
- CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive"
-@@ -1875,6 +1876,7 @@
- AC_SUBST(SYSTEMD_RUN_CMD)
- AC_SUBST(SNAPSHOTS)
- AC_SUBST(STATICDIR)
-+AC_SUBST(STATIC_LDFLAGS)
- AC_SUBST(STATIC_LINK)
- AC_SUBST(TESTSUITE_DATA)
- AC_SUBST(THIN)
---- a/daemons/dmeventd/Makefile.in
-+++ b/daemons/dmeventd/Makefile.in
-@@ -76,7 +76,7 @@
-
- dmeventd.static: $(LIB_STATIC) dmeventd.o
- @echo " [CC] $@"
-- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static dmeventd.o \
-+ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static dmeventd.o \
- -o $@ $(DL_LIBS) $(DMEVENT_LIBS) $(LIBS) $(STATIC_LIBS)
-
- ifeq ("@PKGCONFIG@", "yes")
---- a/make.tmpl.in
-+++ b/make.tmpl.in
-@@ -65,6 +65,7 @@
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
- CPPFLAGS ?= @CPPFLAGS@
- LDFLAGS ?= @LDFLAGS@
-+STATIC_LDFLAGS += @STATIC_LDFLAGS@
- CLDFLAGS += @CLDFLAGS@
- ELDFLAGS += @ELDFLAGS@
- LDDEPS += @LDDEPS@
---- a/tools/Makefile.in
-+++ b/tools/Makefile.in
-@@ -137,7 +137,7 @@
-
- lvm.static: $(OBJECTS) lvm-static.o $(LVMINTERNAL_LIBS)
- @echo " [CC] $@"
-- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) \
-+ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) \
- -o $@ $+ $(LVMLIBS) $(STATIC_LIBS)
-
- liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
diff --git a/sys-fs/lvm2/files/lvm2-2.03.19-static-pkgconfig-libs.patch b/sys-fs/lvm2/files/lvm2-2.03.19-static-pkgconfig-libs.patch
deleted file mode 100644
index 52f2cc0cb7fe..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.19-static-pkgconfig-libs.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-From ac7cce039825ff779795b5c2ae0ecf00ba43a401 Mon Sep 17 00:00:00 2001
-From: "Robin H. Johnson" <robbat2@gentoo.org>
-Date: Sun, 9 May 2021 11:00:22 +0200
-Subject: [PATCH] Use pkgconfig to detect static libs
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -1139,6 +1139,7 @@
- AS_IF([test "$HAVE_BLKID" = "yes"], [
- BLKID_WIPING="yes"
- BLKID_PC="blkid"
-+ BLKID_STATIC_LIBS=`$PKG_CONFIG --static --libs $BLKID_PC`
- DEFAULT_USE_BLKID_WIPING=1
- AC_DEFINE([BLKID_WIPING_SUPPORT], 1, [Define to 1 to use libblkid detection of signatures when wiping.])
- ], [
-@@ -1165,6 +1166,7 @@
-
- AS_IF([test "$UDEV_SYNC" = "yes"], [
- PKG_CHECK_MODULES(UDEV, libudev >= 143, [UDEV_PC="libudev"])
-+ UDEV_STATIC_LIBS=`$PKG_CONFIG --static --libs libudev`
- AC_DEFINE([UDEV_SYNC_SUPPORT], 1, [Define to 1 to enable synchronisation with udev processing.])
-
- AC_CHECK_LIB(udev, udev_device_get_is_initialized, AC_DEFINE([HAVE_LIBUDEV_UDEV_DEVICE_GET_IS_INITIALIZED], 1,
-@@ -1382,19 +1384,28 @@
- AS_IF([test "$SELINUX" = "yes"], [
- AC_CHECK_LIB([sepol], [sepol_check_context], [
- AC_DEFINE([HAVE_SEPOL], 1, [Define to 1 if sepol_check_context is available.])
-- SELINUX_LIBS="-lsepol"])
-+ SEPOL_LIBS="-lsepol"])
-+
-+ PKG_CHECK_MODULES(SELINUX, libselinux, [
-+ SELINUX_PC="libselinux"
-+ SELINUX_STATIC_LIBS=`$PKG_CONFIG --static --libs libselinux`
-+ SELINUX_LIBS="$SELINUX_LIBS $SEPOL_LIBS"
-+ AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-+ ], [
-+ dnl -- old non-pkgconfig method, is buggy with static builds
-
- AC_CHECK_LIB([selinux], [is_selinux_enabled], [
- AC_CHECK_HEADERS([selinux/selinux.h],, hard_bailout)
- AC_CHECK_HEADERS([selinux/label.h])
- AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-- SELINUX_LIBS="-lselinux $SELINUX_LIBS"
-+ SELINUX_LIBS="-lselinux $SEPOL_LIBS"
- SELINUX_PC="libselinux"
- HAVE_SELINUX=yes ], [
- AC_MSG_WARN(Disabling selinux)
- SELINUX_LIBS=
- SELINUX_PC=
- HAVE_SELINUX=no ])
-+ ])
- ])
-
- ################################################################################
-@@ -1790,6 +1801,7 @@
- ################################################################################
- AC_SUBST(AWK)
- AC_SUBST(BLKID_PC)
-+AC_SUBST(BLKID_STATIC_LIBS)
- AC_SUBST(BUILD_CMIRRORD)
- AC_SUBST(BUILD_DMEVENTD)
- AC_SUBST(BUILD_LVMDBUSD)
-@@ -1872,6 +1884,7 @@
- AC_SUBST(SBINDIR)
- AC_SUBST(SELINUX_LIBS)
- AC_SUBST(SELINUX_PC)
-+AC_SUBST(SELINUX_STATIC_LIBS)
- AC_SUBST(SYSCONFDIR)
- AC_SUBST(SYSTEMD_RUN_CMD)
- AC_SUBST(SNAPSHOTS)
-@@ -1890,6 +1903,7 @@
- AC_SUBST(CACHE_RESTORE_CMD)
- AC_SUBST(UDEV_PC)
- AC_SUBST(UDEV_RULES)
-+AC_SUBST(UDEV_STATIC_LIBS)
- AC_SUBST(UDEV_SYNC)
- AC_SUBST(UDEV_RULE_EXEC_DETECTION)
- AC_SUBST(UDEV_HAS_BUILTIN_BLKID)
---- a/libdm/make.tmpl.in
-+++ b/libdm/make.tmpl.in
-@@ -54,7 +54,7 @@
-
- LIBS += @LIBS@ $(PTHREAD_LIBS) $(SELINUX_LIBS) $(UDEV_LIBS) $(RT_LIBS) $(M_LIBS)
- # Extra libraries always linked with static binaries
--STATIC_LIBS = $(PTHREAD_LIBS)
-+STATIC_LIBS = $(PTHREAD_LIBS) $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS)
- DEFS += @DEFS@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
-@@ -71,8 +71,10 @@
- READLINE_LIBS = @READLINE_LIBS@
- EDITLINE_LIBS = @EDITLINE_LIBS@
- SELINUX_LIBS = @SELINUX_LIBS@
-+SELINUX_STATIC_LIBS = @SELINUX_STATIC_LIBS@
- UDEV_CFLAGS = @UDEV_CFLAGS@
- UDEV_LIBS = @UDEV_LIBS@
-+UDEV_STATIC_LIBS = @UDEV_STATIC_LIBS@
- BLKID_CFLAGS = @BLKID_CFLAGS@
- BLKID_LIBS = @BLKID_LIBS@
- LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
---- a/make.tmpl.in
-+++ b/make.tmpl.in
-@@ -59,7 +59,7 @@
- LIBS += @LIBS@ $(SELINUX_LIBS) $(UDEV_LIBS) $(RT_LIBS) $(M_LIBS)
- LVMLIBS = $(DMEVENT_LIBS) $(READLINE_LIBS) $(EDITLINE_LIBS) $(LIBSYSTEMD_LIBS) $(BLKID_LIBS) $(AIO_LIBS) $(LIBS)
- # Extra libraries always linked with static binaries
--STATIC_LIBS = $(PTHREAD_LIBS)
-+STATIC_LIBS = $(PTHREAD_LIBS) $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS) $(M_LIBS)
- DEFS += @DEFS@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
-@@ -79,6 +79,7 @@
- AIO_LIBS = @AIO_LIBS@
- BLKID_CFLAGS = @BLKID_CFLAGS@
- BLKID_LIBS = @BLKID_LIBS@
-+BLKID_STATIC_LIBS = @BLKID_STATIC_LIBS@
- CPG_CFLAGS = @CPG_CFLAGS@
- CPG_LIBS = @CPG_LIBS@
- EDITLINE_CFLAGS = @EDITLINE_CFLAGS@
-@@ -97,8 +98,10 @@
- READLINE_CFLAGS = @READLINE_CFLAGS@
- READLINE_LIBS = @READLINE_LIBS@
- SELINUX_LIBS = @SELINUX_LIBS@
-+SELINUX_STATIC_LIBS = @SELINUX_STATIC_LIBS@
- UDEV_CFLAGS = @UDEV_CFLAGS@
- UDEV_LIBS = @UDEV_LIBS@
-+UDEV_STATIC_LIBS = @UDEV_STATIC_LIBS@
- VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
- VALGRIND_LIBS = @VALGRIND_LIBS@
-
diff --git a/sys-fs/lvm2/lvm2-2.03.19.ebuild b/sys-fs/lvm2/lvm2-2.03.19.ebuild
deleted file mode 100644
index f58841267b59..000000000000
--- a/sys-fs/lvm2/lvm2-2.03.19.ebuild
+++ /dev/null
@@ -1,306 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-TMPFILES_OPTIONAL=1
-inherit autotools linux-info systemd toolchain-funcs tmpfiles udev flag-o-matic
-
-DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
-HOMEPAGE="https://sourceware.org/lvm2/"
-SRC_URI="https://sourceware.org/ftp/lvm2/${PN^^}.${PV}.tgz"
-S="${WORKDIR}/${PN^^}.${PV}"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="lvm lvm2create-initrd readline sanlock selinux static static-libs systemd thin +udev"
-REQUIRED_USE="
- static? ( !systemd !udev )
- static-libs? ( static !udev )
- systemd? ( udev )
- thin? ( lvm )"
-
-DEPEND_COMMON="
- udev? ( virtual/libudev:= )
- lvm? (
- dev-libs/libaio
- sys-apps/util-linux
- readline? ( sys-libs/readline:= )
- sanlock? ( sys-cluster/sanlock )
- systemd? ( sys-apps/systemd:= )
- )"
-# /run is now required for locking during early boot. /var cannot be assumed to
-# be available -- thus, pull in recent enough baselayout for /run.
-# This version of LVM is incompatible with cryptsetup <1.1.2.
-RDEPEND="${DEPEND_COMMON}
- >=sys-apps/baselayout-2.2
- lvm? (
- virtual/tmpfiles
- lvm2create-initrd? ( sys-apps/makedev )
- thin? ( sys-block/thin-provisioning-tools )
- )"
-# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
-DEPEND="${DEPEND_COMMON}
- static? (
- lvm? (
- dev-libs/libaio[static-libs]
- sys-apps/util-linux[static-libs]
- readline? ( sys-libs/readline[static-libs] )
- )
- selinux? ( sys-libs/libselinux[static-libs] )
- )"
-BDEPEND="
- sys-devel/autoconf-archive
- virtual/pkgconfig"
-
-PATCHES=(
- # Gentoo specific modification(s):
- "${FILESDIR}"/${PN}-2.03.17-example.conf.in.patch
-
- # For upstream -- review and forward:
- "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
- "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
- "${FILESDIR}"/${PN}-2.03.17-locale-muck.patch #330373
- "${FILESDIR}"/${PN}-2.03.19-dynamic-static-ldflags.patch #332905
- "${FILESDIR}"/${PN}-2.03.19-static-pkgconfig-libs.patch #370217, #439414 + blkid, #617756
- "${FILESDIR}"/${PN}-2.03.17-pthread-pkgconfig.patch #492450
- "${FILESDIR}"/${PN}-2.03.19-dmeventd-no-idle-exit.patch
- "${FILESDIR}"/${PN}-2.03.19-freopen-musl.patch
-)
-
-pkg_setup() {
- local CONFIG_CHECK="~SYSVIPC"
-
- if use udev; then
- local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
- if linux_config_exists; then
- local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
- if [[ -n "${uevent_helper_path}" ]] && [[ "${uevent_helper_path}" != '""' ]]; then
- ewarn "It's recommended to set an empty value to the following kernel config option:"
- ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
- fi
- fi
- fi
-
- check_extra_config
-
- # 1. Genkernel no longer copies /sbin/lvm blindly.
- if use static; then
- elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
- elog "their static versions. If you need the static binaries,"
- elog "you must append .static to the filename!"
- fi
-}
-
-src_prepare() {
- default
-
- # Users without systemd get no auto-activation of any logical volume
- if ! use systemd ; then
- eapply "${FILESDIR}"/${PN}-2.03.19-dm_lvm_rules_no_systemd.patch
- fi
-
- eautoreconf
-}
-
-src_configure() {
- filter-flags -flto
-
- # Workaround for bug #822210
- tc-ld-disable-gold
-
- # Most of this package does weird stuff.
- # The build options are tristate, and --without is NOT supported
- # options: 'none', 'internal', 'shared'
- local myeconfargs=(
- $(use_enable lvm dmfilemapd)
- $(use_enable lvm dmeventd)
- $(use_enable lvm cmdlib)
- $(use_enable lvm fsadm)
- $(use_enable lvm lvmpolld)
-
- # This only causes the .static versions to become available
- $(usev static --enable-static_link)
-
- # dmeventd requires mirrors to be internal, and snapshot available
- # so we cannot disable them
- --with-mirrors="$(usex lvm internal none)"
- --with-snapshots="$(usex lvm internal none)"
- )
-
- if use lvm && use thin; then
- myeconfargs+=( --with-thin=internal --with-cache=internal )
- local texec
- for texec in check dump repair restore; do
- myeconfargs+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
- myeconfargs+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
- done
- else
- myeconfargs+=( --with-thin=none --with-cache=none )
- fi
-
- myeconfargs+=(
- # musl doesn't do symbol versioning so can end up with
- # runtime breakage.
- --with-symvers=$(usex elibc_glibc 'gnu' 'no')
- $(use_enable readline)
- $(use_enable selinux)
- --enable-pkgconfig
- --with-confdir="${EPREFIX}"/etc
- --exec-prefix="${EPREFIX}"
- --sbindir="${EPREFIX}/sbin"
- --with-staticdir="${EPREFIX}"/sbin
- --libdir="${EPREFIX}/$(get_libdir)"
- --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)"
- --with-default-dm-run-dir=/run
- --with-default-run-dir=/run/lvm
- --with-default-locking-dir=/run/lock/lvm
- --with-default-pid-dir=/run
- $(use_enable udev udev_rules)
- $(use_enable udev udev_sync)
- $(use_with udev udevdir "${EPREFIX}$(get_udevdir)"/rules.d)
- # USE=sanlock requires USE=lvm
- $(use_enable $(usex lvm sanlock lvm) lvmlockd-sanlock)
- $(use_enable systemd notify-dbus)
- $(use_enable systemd app-machineid)
- $(use_enable systemd systemd-journal)
- $(use_with systemd systemd-run "/usr/bin/systemd-run")
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
- CLDFLAGS="${LDFLAGS}"
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- emake V=1 -C include
-
- if use lvm ; then
- emake V=1
- emake V=1 CC="$(tc-getCC)" -C scripts
- else
- emake V=1 device-mapper
- # https://bugs.gentoo.org/878131
- emake V=1 -C libdm/dm-tools device-mapper
- fi
-}
-
-src_test() {
- einfo "Tests are disabled because of device-node mucking, if you want to"
- einfo "run tests, compile the package and see ${S}/tests"
-}
-
-src_install() {
- local INSTALL_TARGETS=(
- # full LVM2
- $(usev lvm "install install_tmpfiles_configuration")
- # install systemd related files only when requested, bug #522430
- $(usev $(usex lvm systemd lvm) "SYSTEMD_GENERATOR_DIR=$(systemd_get_systemgeneratordir) install_systemd_units install_systemd_generators")
-
- # install dm unconditionally
- install_device-mapper
- )
- emake V=1 DESTDIR="${D}" "${INSTALL_TARGETS[@]}"
-
- newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
- newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
-
- if use lvm ; then
- newinitd "${FILESDIR}"/dmeventd.initd-2.02.184-r2 dmeventd
- newinitd "${FILESDIR}"/lvm.rc-2.02.187 lvm
- newconfd "${FILESDIR}"/lvm.confd-2.02.184-r3 lvm
- if ! use udev ; then
- # We keep the variable but remove udev from it.
- sed -r -i \
- -e '/^rc_need=/s/\<udev\>//g' \
- "${ED}"/etc/conf.d/lvm || die "Could not drop udev from rc_need"
- fi
-
- newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
- newinitd "${FILESDIR}"/lvmpolld.initd-2.02.183 lvmpolld
-
- if use lvm2create-initrd; then
- dosbin scripts/lvm2create_initrd/lvm2create_initrd
- doman scripts/lvm2create_initrd/lvm2create_initrd.8
- newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
- fi
-
- if use sanlock; then
- newinitd "${FILESDIR}"/lvmlockd.initd-2.02.166-r1 lvmlockd
- fi
- fi
-
- if use static-libs; then
- dolib.a libdm/ioctl/libdevmapper.a
- if use lvm; then
- # depends on lvmetad
- dolib.a libdaemon/client/libdaemonclient.a #462908
- # depends on dmeventd
- dolib.a daemons/dmeventd/libdevmapper-event.a
- fi
- else
- rm -f "${ED}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a || die
- fi
-
- insinto /etc
- doins "${FILESDIR}"/dmtab
-
- dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
-}
-
-pkg_preinst() {
- HAD_LVM=0
-
- if has_version 'sys-fs/lvm2[lvm(+)]' ; then
- HAD_LVM=1
- fi
-}
-
-pkg_postinst() {
- use lvm && tmpfiles_process lvm2.conf
- use udev && udev_reload
-
- # This is a new installation
- if [[ -z "${REPLACING_VERSIONS}" ]]; then
- if use lvm ; then
- ewarn "Make sure the \"lvm\" init script is in the runlevels:"
- ewarn "# rc-update add lvm boot"
- ewarn
- ewarn "Make sure to enable lvmetad in ${EROOT}/etc/lvm/lvm.conf if you want"
- ewarn "to enable lvm autoactivation and metadata caching."
- else
- ewarn "Please enable USE=lvm if you need the LVM daemon and"
- ewarn "tools like 'lvchange', 'vgchange', etc!"
- fi
- else
- if ! use lvm && [[ ${HAD_LVM} -eq 1 ]] ; then
- ewarn "LVM was previously enabled but is now disabled."
- ewarn "Please enable USE=lvm if you need the LVM daemon and"
- ewarn "tools like 'lvchange', 'vgchange', etc!"
- ewarn "See the 2022-11-19-lvm2-default-USE-flags news item for more details."
- fi
- fi
-
- if use udev && [[ -d /run ]] ; then
- local permission_run_expected="drwxr-xr-x"
- local permission_run=$(stat -c "%A" /run)
- if [[ "${permission_run}" != "${permission_run_expected}" ]] ; then
- ewarn "Found the following problematic permissions:"
- ewarn ""
- ewarn " ${permission_run} /run"
- ewarn ""
- ewarn "Expected:"
- ewarn ""
- ewarn " ${permission_run_expected} /run"
- ewarn ""
- ewarn "This is known to cause problems for udev-enabled LVM services."
- fi
- fi
-}
-
-pkg_postrm() {
- if use udev && [[ -z ${REPLACED_BY_VERSION} ]]; then
- udev_reload
- fi
-}
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2023-05-10 8:57 David Seifert
0 siblings, 0 replies; 29+ messages in thread
From: David Seifert @ 2023-05-10 8:57 UTC (permalink / raw
To: gentoo-commits
commit: f1d8b9e871854b3bb0f5c810a4883ab8d8f114eb
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Wed May 10 08:56:54 2023 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Wed May 10 08:56:54 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f1d8b9e8
sys-fs/lvm2: clean up patches
Signed-off-by: David Seifert <soap <AT> gentoo.org>
...apper.conf-1.02.22-r3 => device-mapper.conf-r4} | 0
...e-mapper.rc-2.02.105-r2 => device-mapper.rc-r3} | 0
...meventd.initd-2.02.184-r2 => dmeventd.initd-r3} | 0
...g.initd-2.02.105-r2 => lvm-monitoring.initd-r3} | 0
.../files/{lvm.confd-2.02.184-r3 => lvm.confd-r4} | 0
sys-fs/lvm2/files/{lvm.rc-2.02.187 => lvm.rc-r1} | 0
...nitrd.patch => lvm2-2.03.20-createinitrd.patch} | 0
... => lvm2-2.03.20-dm_lvm_rules_no_systemd.patch} | 0
...ch => lvm2-2.03.20-dmeventd-no-idle-exit.patch} | 0
...in.patch => lvm2-2.03.20-example.conf.in.patch} | 0
...-musl.patch => lvm2-2.03.20-freopen-musl.patch} | 0
...e-muck.patch => lvm2-2.03.20-locale-muck.patch} | 0
....patch => lvm2-2.03.20-lvm2create_initrd.patch} | 0
...vmlockd.initd-2.02.166-r1 => lvmlockd.initd-r2} | 0
.../{lvmpolld.initd-2.02.183 => lvmpolld.initd-r1} | 0
sys-fs/lvm2/lvm2-2.03.20.ebuild | 30 +++++++++++-----------
sys-fs/lvm2/lvm2-2.03.21.ebuild | 30 +++++++++++-----------
17 files changed, 30 insertions(+), 30 deletions(-)
diff --git a/sys-fs/lvm2/files/device-mapper.conf-1.02.22-r3 b/sys-fs/lvm2/files/device-mapper.conf-r4
similarity index 100%
rename from sys-fs/lvm2/files/device-mapper.conf-1.02.22-r3
rename to sys-fs/lvm2/files/device-mapper.conf-r4
diff --git a/sys-fs/lvm2/files/device-mapper.rc-2.02.105-r2 b/sys-fs/lvm2/files/device-mapper.rc-r3
similarity index 100%
rename from sys-fs/lvm2/files/device-mapper.rc-2.02.105-r2
rename to sys-fs/lvm2/files/device-mapper.rc-r3
diff --git a/sys-fs/lvm2/files/dmeventd.initd-2.02.184-r2 b/sys-fs/lvm2/files/dmeventd.initd-r3
similarity index 100%
rename from sys-fs/lvm2/files/dmeventd.initd-2.02.184-r2
rename to sys-fs/lvm2/files/dmeventd.initd-r3
diff --git a/sys-fs/lvm2/files/lvm-monitoring.initd-2.02.105-r2 b/sys-fs/lvm2/files/lvm-monitoring.initd-r3
similarity index 100%
rename from sys-fs/lvm2/files/lvm-monitoring.initd-2.02.105-r2
rename to sys-fs/lvm2/files/lvm-monitoring.initd-r3
diff --git a/sys-fs/lvm2/files/lvm.confd-2.02.184-r3 b/sys-fs/lvm2/files/lvm.confd-r4
similarity index 100%
rename from sys-fs/lvm2/files/lvm.confd-2.02.184-r3
rename to sys-fs/lvm2/files/lvm.confd-r4
diff --git a/sys-fs/lvm2/files/lvm.rc-2.02.187 b/sys-fs/lvm2/files/lvm.rc-r1
similarity index 100%
rename from sys-fs/lvm2/files/lvm.rc-2.02.187
rename to sys-fs/lvm2/files/lvm.rc-r1
diff --git a/sys-fs/lvm2/files/lvm2-2.02.67-createinitrd.patch b/sys-fs/lvm2/files/lvm2-2.03.20-createinitrd.patch
similarity index 100%
rename from sys-fs/lvm2/files/lvm2-2.02.67-createinitrd.patch
rename to sys-fs/lvm2/files/lvm2-2.03.20-createinitrd.patch
diff --git a/sys-fs/lvm2/files/lvm2-2.03.19-dm_lvm_rules_no_systemd.patch b/sys-fs/lvm2/files/lvm2-2.03.20-dm_lvm_rules_no_systemd.patch
similarity index 100%
rename from sys-fs/lvm2/files/lvm2-2.03.19-dm_lvm_rules_no_systemd.patch
rename to sys-fs/lvm2/files/lvm2-2.03.20-dm_lvm_rules_no_systemd.patch
diff --git a/sys-fs/lvm2/files/lvm2-2.03.19-dmeventd-no-idle-exit.patch b/sys-fs/lvm2/files/lvm2-2.03.20-dmeventd-no-idle-exit.patch
similarity index 100%
rename from sys-fs/lvm2/files/lvm2-2.03.19-dmeventd-no-idle-exit.patch
rename to sys-fs/lvm2/files/lvm2-2.03.20-dmeventd-no-idle-exit.patch
diff --git a/sys-fs/lvm2/files/lvm2-2.03.17-example.conf.in.patch b/sys-fs/lvm2/files/lvm2-2.03.20-example.conf.in.patch
similarity index 100%
rename from sys-fs/lvm2/files/lvm2-2.03.17-example.conf.in.patch
rename to sys-fs/lvm2/files/lvm2-2.03.20-example.conf.in.patch
diff --git a/sys-fs/lvm2/files/lvm2-2.03.19-freopen-musl.patch b/sys-fs/lvm2/files/lvm2-2.03.20-freopen-musl.patch
similarity index 100%
rename from sys-fs/lvm2/files/lvm2-2.03.19-freopen-musl.patch
rename to sys-fs/lvm2/files/lvm2-2.03.20-freopen-musl.patch
diff --git a/sys-fs/lvm2/files/lvm2-2.03.17-locale-muck.patch b/sys-fs/lvm2/files/lvm2-2.03.20-locale-muck.patch
similarity index 100%
rename from sys-fs/lvm2/files/lvm2-2.03.17-locale-muck.patch
rename to sys-fs/lvm2/files/lvm2-2.03.20-locale-muck.patch
diff --git a/sys-fs/lvm2/files/lvm2-2.02.56-lvm2create_initrd.patch b/sys-fs/lvm2/files/lvm2-2.03.20-lvm2create_initrd.patch
similarity index 100%
rename from sys-fs/lvm2/files/lvm2-2.02.56-lvm2create_initrd.patch
rename to sys-fs/lvm2/files/lvm2-2.03.20-lvm2create_initrd.patch
diff --git a/sys-fs/lvm2/files/lvmlockd.initd-2.02.166-r1 b/sys-fs/lvm2/files/lvmlockd.initd-r2
similarity index 100%
rename from sys-fs/lvm2/files/lvmlockd.initd-2.02.166-r1
rename to sys-fs/lvm2/files/lvmlockd.initd-r2
diff --git a/sys-fs/lvm2/files/lvmpolld.initd-2.02.183 b/sys-fs/lvm2/files/lvmpolld.initd-r1
similarity index 100%
rename from sys-fs/lvm2/files/lvmpolld.initd-2.02.183
rename to sys-fs/lvm2/files/lvmpolld.initd-r1
diff --git a/sys-fs/lvm2/lvm2-2.03.20.ebuild b/sys-fs/lvm2/lvm2-2.03.20.ebuild
index 84c67872e4f6..4ea94fc558fe 100644
--- a/sys-fs/lvm2/lvm2-2.03.20.ebuild
+++ b/sys-fs/lvm2/lvm2-2.03.20.ebuild
@@ -56,14 +56,14 @@ BDEPEND="
PATCHES=(
# Gentoo specific modification(s):
- "${FILESDIR}"/${PN}-2.03.17-example.conf.in.patch
+ "${FILESDIR}"/${PN}-2.03.20-example.conf.in.patch
# For upstream -- review and forward:
- "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
- "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
- "${FILESDIR}"/${PN}-2.03.17-locale-muck.patch #330373
- "${FILESDIR}"/${PN}-2.03.19-dmeventd-no-idle-exit.patch
- "${FILESDIR}"/${PN}-2.03.19-freopen-musl.patch
+ "${FILESDIR}"/${PN}-2.03.20-lvm2create_initrd.patch
+ "${FILESDIR}"/${PN}-2.03.20-createinitrd.patch #301331
+ "${FILESDIR}"/${PN}-2.03.20-locale-muck.patch #330373
+ "${FILESDIR}"/${PN}-2.03.20-dmeventd-no-idle-exit.patch
+ "${FILESDIR}"/${PN}-2.03.20-freopen-musl.patch
)
pkg_setup() {
@@ -95,7 +95,7 @@ src_prepare() {
# Users without systemd get no auto-activation of any logical volume
if ! use systemd ; then
- eapply "${FILESDIR}"/${PN}-2.03.19-dm_lvm_rules_no_systemd.patch
+ eapply "${FILESDIR}"/${PN}-2.03.20-dm_lvm_rules_no_systemd.patch
fi
eautoreconf
@@ -200,13 +200,13 @@ src_install() {
)
emake V=1 DESTDIR="${D}" "${INSTALL_TARGETS[@]}"
- newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
- newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
+ newinitd "${FILESDIR}"/device-mapper.rc-r3 device-mapper
+ newconfd "${FILESDIR}"/device-mapper.conf-r4 device-mapper
if use lvm ; then
- newinitd "${FILESDIR}"/dmeventd.initd-2.02.184-r2 dmeventd
- newinitd "${FILESDIR}"/lvm.rc-2.02.187 lvm
- newconfd "${FILESDIR}"/lvm.confd-2.02.184-r3 lvm
+ newinitd "${FILESDIR}"/dmeventd.initd-r3 dmeventd
+ newinitd "${FILESDIR}"/lvm.rc-r1 lvm
+ newconfd "${FILESDIR}"/lvm.confd-r4 lvm
if ! use udev ; then
# We keep the variable but remove udev from it.
sed -r -i \
@@ -214,8 +214,8 @@ src_install() {
"${ED}"/etc/conf.d/lvm || die "Could not drop udev from rc_need"
fi
- newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
- newinitd "${FILESDIR}"/lvmpolld.initd-2.02.183 lvmpolld
+ newinitd "${FILESDIR}"/lvm-monitoring.initd-r3 lvm-monitoring
+ newinitd "${FILESDIR}"/lvmpolld.initd-r1 lvmpolld
if use lvm2create-initrd; then
dosbin scripts/lvm2create_initrd/lvm2create_initrd
@@ -224,7 +224,7 @@ src_install() {
fi
if use sanlock; then
- newinitd "${FILESDIR}"/lvmlockd.initd-2.02.166-r1 lvmlockd
+ newinitd "${FILESDIR}"/lvmlockd.initd-r2 lvmlockd
fi
fi
diff --git a/sys-fs/lvm2/lvm2-2.03.21.ebuild b/sys-fs/lvm2/lvm2-2.03.21.ebuild
index 5d9eb0ac9398..12b85fc8045c 100644
--- a/sys-fs/lvm2/lvm2-2.03.21.ebuild
+++ b/sys-fs/lvm2/lvm2-2.03.21.ebuild
@@ -56,14 +56,14 @@ BDEPEND="
PATCHES=(
# Gentoo specific modification(s):
- "${FILESDIR}"/${PN}-2.03.17-example.conf.in.patch
+ "${FILESDIR}"/${PN}-2.03.20-example.conf.in.patch
# For upstream -- review and forward:
- "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
- "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
- "${FILESDIR}"/${PN}-2.03.17-locale-muck.patch #330373
- "${FILESDIR}"/${PN}-2.03.19-dmeventd-no-idle-exit.patch
- "${FILESDIR}"/${PN}-2.03.19-freopen-musl.patch
+ "${FILESDIR}"/${PN}-2.03.20-lvm2create_initrd.patch
+ "${FILESDIR}"/${PN}-2.03.20-createinitrd.patch #301331
+ "${FILESDIR}"/${PN}-2.03.20-locale-muck.patch #330373
+ "${FILESDIR}"/${PN}-2.03.20-dmeventd-no-idle-exit.patch
+ "${FILESDIR}"/${PN}-2.03.20-freopen-musl.patch
)
pkg_setup() {
@@ -95,7 +95,7 @@ src_prepare() {
# Users without systemd get no auto-activation of any logical volume
if ! use systemd ; then
- eapply "${FILESDIR}"/${PN}-2.03.19-dm_lvm_rules_no_systemd.patch
+ eapply "${FILESDIR}"/${PN}-2.03.20-dm_lvm_rules_no_systemd.patch
fi
eautoreconf
@@ -201,13 +201,13 @@ src_install() {
)
emake V=1 DESTDIR="${D}" "${INSTALL_TARGETS[@]}"
- newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
- newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
+ newinitd "${FILESDIR}"/device-mapper.rc-r3 device-mapper
+ newconfd "${FILESDIR}"/device-mapper.conf-r4 device-mapper
if use lvm ; then
- newinitd "${FILESDIR}"/dmeventd.initd-2.02.184-r2 dmeventd
- newinitd "${FILESDIR}"/lvm.rc-2.02.187 lvm
- newconfd "${FILESDIR}"/lvm.confd-2.02.184-r3 lvm
+ newinitd "${FILESDIR}"/dmeventd.initd-r3 dmeventd
+ newinitd "${FILESDIR}"/lvm.rc-r1 lvm
+ newconfd "${FILESDIR}"/lvm.confd-r4 lvm
if ! use udev ; then
# We keep the variable but remove udev from it.
sed -r -i \
@@ -215,8 +215,8 @@ src_install() {
"${ED}"/etc/conf.d/lvm || die "Could not drop udev from rc_need"
fi
- newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
- newinitd "${FILESDIR}"/lvmpolld.initd-2.02.183 lvmpolld
+ newinitd "${FILESDIR}"/lvm-monitoring.initd-r3 lvm-monitoring
+ newinitd "${FILESDIR}"/lvmpolld.initd-r1 lvmpolld
if use lvm2create-initrd; then
dosbin scripts/lvm2create_initrd/lvm2create_initrd
@@ -225,7 +225,7 @@ src_install() {
fi
if use sanlock; then
- newinitd "${FILESDIR}"/lvmlockd.initd-2.02.166-r1 lvmlockd
+ newinitd "${FILESDIR}"/lvmlockd.initd-r2 lvmlockd
fi
fi
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2023-06-02 13:02 David Seifert
0 siblings, 0 replies; 29+ messages in thread
From: David Seifert @ 2023-06-02 13:02 UTC (permalink / raw
To: gentoo-commits
commit: 74999508c7b1a19ad0422a22c35bc11e4e79cb1b
Author: David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 2 13:02:37 2023 +0000
Commit: David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Fri Jun 2 13:02:37 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=74999508
sys-fs/lvm2: drop 2.03.20
Signed-off-by: David Seifert <soap <AT> gentoo.org>
sys-fs/lvm2/Manifest | 1 -
sys-fs/lvm2/files/lvm2-2.03.20-locale-muck.patch | 11 -
.../files/lvm2-2.03.20-lvm2create_initrd.patch | 79 ------
sys-fs/lvm2/lvm2-2.03.20.ebuild | 302 ---------------------
4 files changed, 393 deletions(-)
diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest
index 01f7b2833c23..8d5003223fb4 100644
--- a/sys-fs/lvm2/Manifest
+++ b/sys-fs/lvm2/Manifest
@@ -1,2 +1 @@
-DIST LVM2.2.03.20.tgz 2739763 BLAKE2B 4dc223eca1a370450c3985a5f962a2450a2ed08f1fa40af98d181a1530960a7caa3e896a3b54f0f333e2d6818bf35378b9c491a1488a4d3815959ab0e1f987de SHA512 202ff19f6ab1e1ecdf448beec6c7db1a80885efda1a6eeabf44cd2cea40577405c388eabd86f59f34c6e9e400188050bc6d1a5d5daf02f2beda87eee73cd1a2d
DIST LVM2.2.03.21.tgz 2742294 BLAKE2B 529bc01b3d1ba6207c9ddc95309b39e6293fcd0286334240b9fdc076da0b7bc7e026338ec0243564ec153f2fb5009014149c3f8e0db0cd47a29418af62068728 SHA512 6024811c3fa92afd2fc13a10d1c3542352aa9a016f40c3ef588bd2f5f3e41245fed4b36c8a87d9f7f8dddc6e13b7253396f5c811f99665df27751676dc7b5bde
diff --git a/sys-fs/lvm2/files/lvm2-2.03.20-locale-muck.patch b/sys-fs/lvm2/files/lvm2-2.03.20-locale-muck.patch
deleted file mode 100644
index c672a10e2cf6..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.20-locale-muck.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/make.tmpl.in
-+++ b/make.tmpl.in
-@@ -571,7 +571,7 @@
- ( cat $(srcdir)/.exported_symbols; \
- if test -n "$(EXPORTED_HEADER)"; then \
- $(CC) -E -P $(INCLUDES) $(DEFS) $(EXPORTED_HEADER) | \
-- $(SED) -ne "/^typedef|}/!s/.*[ *]\($(EXPORTED_FN_PREFIX)_[a-z0-9_]*\)(.*/\1/p"; \
-+ LC_ALL=C $(SED) -ne "/^typedef|}/!s/.*[ *]\($(EXPORTED_FN_PREFIX)_[a-z0-9_]*\)(.*/\1/p"; \
- fi \
- ) > $@
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.20-lvm2create_initrd.patch b/sys-fs/lvm2/files/lvm2-2.03.20-lvm2create_initrd.patch
deleted file mode 100644
index 007b2b5c1e3a..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.20-lvm2create_initrd.patch
+++ /dev/null
@@ -1,79 +0,0 @@
---- a/scripts/lvm2create_initrd/lvm2create_initrd
-+++ b/scripts/lvm2create_initrd/lvm2create_initrd
-@@ -54,7 +54,9 @@
- DEVRAM=/tmp/initrd.$$
-
- # set defaults
--BINFILES=${BINFILES:-"`which lvm` `which bash` `which busybox` `which pivot_root`"}
-+LVM=`which lvm.static`
-+LVM=${LVM:-"`which lvm`"}
-+BINFILES=${BINFILES:-"${LVM} `which bash` `which busybox` `which pivot_root`"}
- BASICDEVICES=${BASICDEVICES:-"std consoleonly fd"}
- BLOCKDEVICES=${BLOCKDEVICES:-"md hda hdb hdc hdd sda sdb sdc sdd"}
- MAKEDEV=${MAKEDEV:-"debian"}
-@@ -119,6 +121,10 @@
- echo "$PRE Mounting /proc"
- mount -t proc none /proc
-
-+# We need /sys for lvm
-+echo "$PRE Mounting /sys"
-+mount -t sysfs sysfs /sys
-+
- # plug in modules listed in /etc/modules
- if [ -f /etc/modules ]; then
- echo -n "$PRE plugging in kernel modules:"
-@@ -179,26 +185,29 @@
- # run a shell if we're passed lvm2rescue on commandline
- grep lvm2rescue /proc/cmdline 1>/dev/null 2>&1
- if [ $? -eq 0 ]; then
-- lvm vgchange --ignorelockingfailure -P -a y
-+ $LVM vgchange --ignorelockingfailure -P -a y
- do_shell
- else
-- lvm vgchange --ignorelockingfailure -a y
-+ $LVM vgchange --ignorelockingfailure -a y
- fi
-
- echo "$PRE Mounting root filesystem $rootvol ro"
- mkdir /rootvol
- if ! mount -t auto -o ro $rootvol /rootvol; then
-- echo "\t*FAILED*";
-+ echo "\t*FAILED TRYING TO MOUNT ROOTVOL*";
- do_shell
- fi
-
- echo "$PRE Umounting /proc"
- umount /proc
-
-+echo "$PRE Umounting /sys"
-+umount /sys
-+
- echo "$PRE Changing roots"
- cd /rootvol
- if ! pivot_root . initrd ; then
-- echo "\t*FAILED*"
-+ echo "\t*FAILED PIVOT TO NEW ROOT*"
- do_shell
- fi
-
-@@ -356,7 +365,7 @@
- fi
-
- verbose "creating basic set of directories in $TMPMNT"
--(cd $TMPMNT; mkdir bin dev etc lib proc sbin var)
-+(cd $TMPMNT; mkdir bin dev etc lib proc sbin sys var)
- if [ $? -ne 0 ]; then
- echo "$cmd -- ERROR creating directories in $TMPMNT"
- cleanup 1
-@@ -460,9 +469,9 @@
- rmdir $TMPMNT/lost+found
-
- echo "$cmd -- ummounting ram disk"
--umount $DEVRAM
-+umount $TMPMNT
- if [ $? -ne 0 ]; then
-- echo "$cmd -- ERROR umounting $DEVRAM"
-+ echo "$cmd -- ERROR umounting $TMPMNT"
- cleanup 1
- fi
-
diff --git a/sys-fs/lvm2/lvm2-2.03.20.ebuild b/sys-fs/lvm2/lvm2-2.03.20.ebuild
deleted file mode 100644
index 1c7fd041e178..000000000000
--- a/sys-fs/lvm2/lvm2-2.03.20.ebuild
+++ /dev/null
@@ -1,302 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-TMPFILES_OPTIONAL=1
-inherit autotools linux-info systemd toolchain-funcs tmpfiles udev flag-o-matic
-
-DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
-HOMEPAGE="https://sourceware.org/lvm2/"
-SRC_URI="https://sourceware.org/ftp/lvm2/${PN^^}.${PV}.tgz"
-S="${WORKDIR}/${PN^^}.${PV}"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="lvm lvm2create-initrd readline sanlock selinux static static-libs systemd thin +udev"
-REQUIRED_USE="
- static? ( !systemd !udev )
- static-libs? ( static !udev )
- systemd? ( udev )
- thin? ( lvm )"
-
-DEPEND_COMMON="
- udev? ( virtual/libudev:= )
- lvm? (
- dev-libs/libaio
- sys-apps/util-linux
- readline? ( sys-libs/readline:= )
- sanlock? ( sys-cluster/sanlock )
- systemd? ( sys-apps/systemd:= )
- )"
-# /run is now required for locking during early boot. /var cannot be assumed to
-# be available -- thus, pull in recent enough baselayout for /run.
-# This version of LVM is incompatible with cryptsetup <1.1.2.
-RDEPEND="${DEPEND_COMMON}
- >=sys-apps/baselayout-2.2
- lvm? (
- virtual/tmpfiles
- lvm2create-initrd? ( sys-apps/makedev )
- thin? ( sys-block/thin-provisioning-tools )
- )"
-# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
-DEPEND="${DEPEND_COMMON}
- static? (
- lvm? (
- dev-libs/libaio[static-libs]
- sys-apps/util-linux[static-libs]
- readline? ( sys-libs/readline[static-libs] )
- )
- selinux? ( sys-libs/libselinux[static-libs] )
- )"
-BDEPEND="
- sys-devel/autoconf-archive
- virtual/pkgconfig"
-
-PATCHES=(
- # Gentoo specific modification(s):
- "${FILESDIR}"/${PN}-2.03.20-example.conf.in.patch
-
- # For upstream -- review and forward:
- "${FILESDIR}"/${PN}-2.03.20-lvm2create_initrd.patch
- "${FILESDIR}"/${PN}-2.03.20-locale-muck.patch #330373
- "${FILESDIR}"/${PN}-2.03.20-dmeventd-no-idle-exit.patch
- "${FILESDIR}"/${PN}-2.03.20-freopen-musl.patch
-)
-
-pkg_setup() {
- local CONFIG_CHECK="~SYSVIPC"
-
- if use udev; then
- local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
- if linux_config_exists; then
- local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
- if [[ -n "${uevent_helper_path}" ]] && [[ "${uevent_helper_path}" != '""' ]]; then
- ewarn "It's recommended to set an empty value to the following kernel config option:"
- ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
- fi
- fi
- fi
-
- check_extra_config
-
- # 1. Genkernel no longer copies /sbin/lvm blindly.
- if use static; then
- elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
- elog "their static versions. If you need the static binaries,"
- elog "you must append .static to the filename!"
- fi
-}
-
-src_prepare() {
- default
-
- # Users without systemd get no auto-activation of any logical volume
- if ! use systemd ; then
- eapply "${FILESDIR}"/${PN}-2.03.20-dm_lvm_rules_no_systemd.patch
- fi
-
- eautoreconf
-}
-
-src_configure() {
- filter-flags -flto
-
- # Workaround for bug #822210
- tc-ld-disable-gold
-
- # Most of this package does weird stuff.
- # The build options are tristate, and --without is NOT supported
- # options: 'none', 'internal', 'shared'
- local myeconfargs=(
- $(use_enable lvm dmfilemapd)
- $(use_enable lvm dmeventd)
- $(use_enable lvm cmdlib)
- $(use_enable lvm fsadm)
- $(use_enable lvm lvmpolld)
-
- # This only causes the .static versions to become available
- $(usev static --enable-static_link)
-
- # dmeventd requires mirrors to be internal, and snapshot available
- # so we cannot disable them
- --with-mirrors="$(usex lvm internal none)"
- --with-snapshots="$(usex lvm internal none)"
- )
-
- if use lvm && use thin; then
- myeconfargs+=( --with-thin=internal --with-cache=internal )
- local texec
- for texec in check dump repair restore; do
- myeconfargs+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
- myeconfargs+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
- done
- else
- myeconfargs+=( --with-thin=none --with-cache=none )
- fi
-
- myeconfargs+=(
- # musl doesn't do symbol versioning so can end up with
- # runtime breakage.
- --with-symvers=$(usex elibc_glibc 'gnu' 'no')
- $(use_enable readline)
- $(use_enable selinux)
- --enable-pkgconfig
- --with-confdir="${EPREFIX}"/etc
- --exec-prefix="${EPREFIX}"
- --sbindir="${EPREFIX}/sbin"
- --with-staticdir="${EPREFIX}"/sbin
- --libdir="${EPREFIX}/$(get_libdir)"
- --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)"
- --with-default-dm-run-dir=/run
- --with-default-run-dir=/run/lvm
- --with-default-locking-dir=/run/lock/lvm
- --with-default-pid-dir=/run
- $(use_enable udev udev_rules)
- $(use_enable udev udev_sync)
- $(use_with udev udevdir "${EPREFIX}$(get_udevdir)"/rules.d)
- # USE=sanlock requires USE=lvm
- $(use_enable $(usex lvm sanlock lvm) lvmlockd-sanlock)
- $(use_enable systemd notify-dbus)
- $(use_enable systemd app-machineid)
- $(use_enable systemd systemd-journal)
- $(use_with systemd systemd-run "/usr/bin/systemd-run")
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
- CLDFLAGS="${LDFLAGS}"
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- emake V=1 -C include
-
- if use lvm ; then
- emake V=1
- emake V=1 CC="$(tc-getCC)" -C scripts
- else
- emake V=1 device-mapper
- # https://bugs.gentoo.org/878131
- emake V=1 -C libdm/dm-tools device-mapper
- fi
-}
-
-src_test() {
- einfo "Tests are disabled because of device-node mucking, if you want to"
- einfo "run tests, compile the package and see ${S}/tests"
-}
-
-src_install() {
- local INSTALL_TARGETS=(
- # full LVM2
- $(usev lvm "install install_tmpfiles_configuration")
- # install systemd related files only when requested, bug #522430
- $(usev $(usex lvm systemd lvm) "SYSTEMD_GENERATOR_DIR=$(systemd_get_systemgeneratordir) install_systemd_units install_systemd_generators")
-
- # install dm unconditionally
- install_device-mapper
- )
- emake V=1 DESTDIR="${D}" "${INSTALL_TARGETS[@]}"
-
- newinitd "${FILESDIR}"/device-mapper.rc-r3 device-mapper
- newconfd "${FILESDIR}"/device-mapper.conf-r4 device-mapper
-
- if use lvm ; then
- newinitd "${FILESDIR}"/dmeventd.initd-r3 dmeventd
- newinitd "${FILESDIR}"/lvm.rc-r1 lvm
- newconfd "${FILESDIR}"/lvm.confd-r4 lvm
- if ! use udev ; then
- # We keep the variable but remove udev from it.
- sed -r -i \
- -e '/^rc_need=/s/\<udev\>//g' \
- "${ED}"/etc/conf.d/lvm || die "Could not drop udev from rc_need"
- fi
-
- newinitd "${FILESDIR}"/lvm-monitoring.initd-r3 lvm-monitoring
- newinitd "${FILESDIR}"/lvmpolld.initd-r1 lvmpolld
-
- if use lvm2create-initrd; then
- dosbin scripts/lvm2create_initrd/lvm2create_initrd
- doman scripts/lvm2create_initrd/lvm2create_initrd.8
- newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
- fi
-
- if use sanlock; then
- newinitd "${FILESDIR}"/lvmlockd.initd-r2 lvmlockd
- fi
- fi
-
- if use static-libs; then
- dolib.a libdm/ioctl/libdevmapper.a
- if use lvm; then
- # depends on lvmetad
- dolib.a libdaemon/client/libdaemonclient.a #462908
- # depends on dmeventd
- dolib.a daemons/dmeventd/libdevmapper-event.a
- fi
- else
- rm -f "${ED}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a || die
- fi
-
- insinto /etc
- doins "${FILESDIR}"/dmtab
-
- dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
-}
-
-pkg_preinst() {
- HAD_LVM=0
-
- if has_version 'sys-fs/lvm2[lvm(+)]' ; then
- HAD_LVM=1
- fi
-}
-
-pkg_postinst() {
- use lvm && tmpfiles_process lvm2.conf
- use udev && udev_reload
-
- # This is a new installation
- if [[ -z "${REPLACING_VERSIONS}" ]]; then
- if use lvm ; then
- ewarn "Make sure the \"lvm\" init script is in the runlevels:"
- ewarn "# rc-update add lvm boot"
- ewarn
- ewarn "Make sure to enable lvmetad in ${EROOT}/etc/lvm/lvm.conf if you want"
- ewarn "to enable lvm autoactivation and metadata caching."
- else
- ewarn "Please enable USE=lvm if you need the LVM daemon and"
- ewarn "tools like 'lvchange', 'vgchange', etc!"
- fi
- else
- if ! use lvm && [[ ${HAD_LVM} -eq 1 ]] ; then
- ewarn "LVM was previously enabled but is now disabled."
- ewarn "Please enable USE=lvm if you need the LVM daemon and"
- ewarn "tools like 'lvchange', 'vgchange', etc!"
- ewarn "See the 2022-11-19-lvm2-default-USE-flags news item for more details."
- fi
- fi
-
- if use udev && [[ -d /run ]] ; then
- local permission_run_expected="drwxr-xr-x"
- local permission_run=$(stat -c "%A" /run)
- if [[ "${permission_run}" != "${permission_run_expected}" ]] ; then
- ewarn "Found the following problematic permissions:"
- ewarn ""
- ewarn " ${permission_run} /run"
- ewarn ""
- ewarn "Expected:"
- ewarn ""
- ewarn " ${permission_run_expected} /run"
- ewarn ""
- ewarn "This is known to cause problems for udev-enabled LVM services."
- fi
- fi
-}
-
-pkg_postrm() {
- if use udev && [[ -z ${REPLACED_BY_VERSION} ]]; then
- udev_reload
- fi
-}
^ permalink raw reply related [flat|nested] 29+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/
@ 2024-05-02 15:21 Mike Gilbert
0 siblings, 0 replies; 29+ messages in thread
From: Mike Gilbert @ 2024-05-02 15:21 UTC (permalink / raw
To: gentoo-commits
commit: 50cdc115fe2fcf6b96a88e071eccb7b1b0f86586
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Thu May 2 15:19:10 2024 +0000
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Thu May 2 15:21:27 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=50cdc115
sys-fs/lvm2: backport fix for thin-provisioning-tools version check
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
.../files/lvm2-2.03.22-thin-version-checking.patch | 59 ++++++++++++++++++++++
...m2-2.03.22-r4.ebuild => lvm2-2.03.22-r5.ebuild} | 1 +
2 files changed, 60 insertions(+)
diff --git a/sys-fs/lvm2/files/lvm2-2.03.22-thin-version-checking.patch b/sys-fs/lvm2/files/lvm2-2.03.22-thin-version-checking.patch
new file mode 100644
index 000000000000..28d901bc7d61
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.22-thin-version-checking.patch
@@ -0,0 +1,59 @@
+From f117d47ffa781f7f1ad452505c250b4826cdcc7f Mon Sep 17 00:00:00 2001
+From: Zdenek Kabelac <zkabelac@redhat.com>
+Date: Tue, 10 Oct 2023 22:03:50 +0200
+Subject: [PATCH] configure.ac: version checking for new dmpd tools
+
+New rust version of thin_check returns now also binary name in version,
+so adapt the version checking to handle this variant.
+---
+ configure.ac | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 1550f1f70..59d4b65af 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -426,6 +426,7 @@ AS_CASE(["$THIN"],
+ ])
+ AS_IF([test "$THIN_CHECK_NEEDS_CHECK" = "yes" && test "$THIN_CONFIGURE_WARN" != "y"], [
+ THIN_CHECK_VSN=$("$THIN_CHECK_CMD" -V 2>/dev/null)
++ THIN_CHECK_VSN=${THIN_CHECK_VSN##* } # trim away all before the first space
+ THIN_CHECK_VSN_MAJOR=$(echo "$THIN_CHECK_VSN" | $AWK -F '.' '{print $1}')
+ THIN_CHECK_VSN_MINOR=$(echo "$THIN_CHECK_VSN" | $AWK -F '.' '{print $2}')
+
+@@ -467,7 +468,7 @@ AS_CASE(["$THIN"],
+ ])
+ ])
+
+- AC_MSG_CHECKING([whether thin_check supports the needs-check flag])
++ AC_MSG_CHECKING([whether $THIN_CHECK_CMD ($THIN_CHECK_VSN_MAJOR.$THIN_CHECK_VSN_MINOR) supports the needs-check flag])
+ AC_MSG_RESULT([$THIN_CHECK_NEEDS_CHECK])
+ AS_IF([test "$THIN_CHECK_NEEDS_CHECK" = "yes"], [
+ AC_DEFINE([THIN_CHECK_NEEDS_CHECK], 1, [Define to 1 if the external 'thin_check' tool requires the --clear-needs-check-flag option])
+@@ -537,12 +538,13 @@ AS_CASE(["$CACHE"],
+ ])
+ ])
+ AS_IF([test "$CACHE_CHECK_NEEDS_CHECK" = "yes" && test "$CACHE_CONFIGURE_WARN" != "y"], [
+- $CACHE_CHECK_CMD -V 2>/dev/null >conftest.tmp
++ "$CACHE_CHECK_CMD" -V 2>/dev/null >conftest.tmp
+ read -r CACHE_CHECK_VSN < conftest.tmp
+ IFS=.- read -r CACHE_CHECK_VSN_MAJOR CACHE_CHECK_VSN_MINOR CACHE_CHECK_VSN_PATCH LEFTOVER < conftest.tmp
+ rm -f conftest.tmp
+
+ # Require version >= 0.5.4 for --clear-needs-check-flag
++ CACHE_CHECK_VSN_MAJOR=${CACHE_CHECK_VSN_MAJOR##* }
+ AS_IF([test -z "$CACHE_CHECK_VSN_MAJOR" \
+ || test -z "$CACHE_CHECK_VSN_MINOR" \
+ || test -z "$CACHE_CHECK_VSN_PATCH"], [
+@@ -590,7 +592,7 @@ AS_CASE(["$CACHE"],
+ ])
+ ])
+
+- AC_MSG_CHECKING([whether cache_check supports the needs-check flag])
++ AC_MSG_CHECKING([whether $CACHE_CHECK_CMD ($CACHE_CHECK_VSN_MAJOR.$CACHE_CHECK_VSN_MINOR.$CACHE_CHECK_VSN_PATCH) supports the needs-check flag])
+ AC_MSG_RESULT([$CACHE_CHECK_NEEDS_CHECK])
+ AS_IF([test "$CACHE_CHECK_NEEDS_CHECK" = "yes"], [
+ AC_DEFINE([CACHE_CHECK_NEEDS_CHECK], 1, [Define to 1 if the external 'cache_check' tool requires the --clear-needs-check-flag option])
+--
+2.45.0
+
diff --git a/sys-fs/lvm2/lvm2-2.03.22-r4.ebuild b/sys-fs/lvm2/lvm2-2.03.22-r5.ebuild
similarity index 99%
rename from sys-fs/lvm2/lvm2-2.03.22-r4.ebuild
rename to sys-fs/lvm2/lvm2-2.03.22-r5.ebuild
index 42b6ae927976..5b95dd0b2940 100644
--- a/sys-fs/lvm2/lvm2-2.03.22-r4.ebuild
+++ b/sys-fs/lvm2/lvm2-2.03.22-r5.ebuild
@@ -69,6 +69,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-2.03.20-dmeventd-no-idle-exit.patch
"${FILESDIR}"/${PN}-2.03.20-freopen-musl.patch
"${FILESDIR}"/${PN}-2.03.22-autoconf-2.72-egrep.patch
+ "${FILESDIR}"/${PN}-2.03.22-thin-version-checking.patch
)
pkg_setup() {
^ permalink raw reply related [flat|nested] 29+ messages in thread
end of thread, other threads:[~2024-05-02 15:21 UTC | newest]
Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-18 9:03 [gentoo-commits] repo/gentoo:master commit in: sys-fs/lvm2/, sys-fs/lvm2/files/ Lars Wendler
-- strict thread matches above, loose matches on Subject: below --
2024-05-02 15:21 Mike Gilbert
2023-06-02 13:02 David Seifert
2023-05-10 8:57 David Seifert
2023-05-10 8:57 David Seifert
2023-04-13 11:10 David Seifert
2023-02-21 20:29 David Seifert
2023-01-28 13:38 David Seifert
2023-01-13 11:11 David Seifert
2022-11-19 21:05 David Seifert
2022-11-18 17:59 Sam James
2022-10-27 17:13 Robin H. Johnson
2022-10-26 19:17 Mike Gilbert
2022-07-07 15:10 Mike Gilbert
2022-06-16 22:10 Sam James
2021-05-09 9:05 Lars Wendler
2020-03-26 20:24 Lars Wendler
2019-11-28 22:45 Robin H. Johnson
2019-11-27 16:16 Lars Wendler
2019-07-24 9:54 Lars Wendler
2019-06-18 5:27 Robin H. Johnson
2019-05-07 19:16 Robin H. Johnson
2019-04-17 7:26 Robin H. Johnson
2016-04-20 3:58 Mike Frysinger
2016-04-02 5:07 Mike Frysinger
2016-03-09 20:12 Robin H. Johnson
2016-01-25 2:40 Marc Schiffbauer
2015-12-28 0:30 Robin H. Johnson
2015-12-03 11:33 Lars Wendler
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox