summaryrefslogtreecommitdiff
path: root/sys-fs/lvm2
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-08-02 19:14:55 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-08-02 19:14:55 +0100
commitb24bd25253fe093f722ab576d29fdc41d04cb1ee (patch)
tree0fcf2afd9f852c4d4c291cf8afaa2c244d598105 /sys-fs/lvm2
parent121ed4eec41fbf03e1998d09eede1bf449da63b9 (diff)
gentoo resync : 02.08.2019
Diffstat (limited to 'sys-fs/lvm2')
-rw-r--r--sys-fs/lvm2/Manifest13
-rw-r--r--sys-fs/lvm2/files/lvm.rc-2.03.05132
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.05-dmeventd-no-idle-exit.patch81
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.05-dynamic-static-ldflags.patch75
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.05-example.conf.in.patch56
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.05-pthread-pkgconfig.patch48
-rw-r--r--sys-fs/lvm2/lvm2-2.02.183.ebuild3
-rw-r--r--sys-fs/lvm2/lvm2-2.02.184-r4.ebuild5
-rw-r--r--sys-fs/lvm2/lvm2-2.02.185.ebuild3
-rw-r--r--sys-fs/lvm2/lvm2-2.03.05.ebuild59
10 files changed, 436 insertions, 39 deletions
diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest
index 6d85090cacfb..69f745499cf4 100644
--- a/sys-fs/lvm2/Manifest
+++ b/sys-fs/lvm2/Manifest
@@ -11,6 +11,7 @@ AUX lvm.rc-2.02.116-r6 3780 BLAKE2B e5a293e9f493a49776b539e30e6a8452e93ea3723e36
AUX lvm.rc-2.02.172 4266 BLAKE2B 50d2bee47ee2fd6f4a56eaed7df4fc736c5a2158353af113bd8ee6915055f2a196b9feb37678d928d7e73a71783f6918219e9e6143ae53bd09839cd1560ff35f SHA512 718ac4495623c495c6697c992d07f618459748d03a960566896cea981639c655ecb3ddcb876150f9129d0b6bc1bd90ef1092a3326ac7234519702675bdb1db6a
AUX lvm.rc-2.02.183 4363 BLAKE2B b80351d20a87937f331b34c2007b2ccd27543273b672d002607b02f56d5a15fb142111c5f0939fcc40c52b3123b3b3fc15aa39424139bd00692158f20784489b SHA512 7cd6aa621d022190cd45c44e39ac48445f244643e5c537adbe61e4fbc2d688ce450bfddece92853cc324b0bb2c52c32c4169fc251914eda429de418a0ffe8aba
AUX lvm.rc-2.02.184-r3 4474 BLAKE2B c08e1c338b8b788927d05f87eb83b2f3a95d35dad9b86e5f9be8809b2883bac56c973c9c2dc8f7775c6e05c3c2ea66dd5268699af3dba47e9a842262e659a121 SHA512 ca7fef98fd074018223be65f6aa20a0abfbb78afbf3d8ff50e1f2656a1cbb7a54570381c9a5328f3766774dce819c1f48e4433c0e7bec69f6bf70747a3375699
+AUX lvm.rc-2.03.05 3923 BLAKE2B bbb17f64ba56e4f2eaa75020116fff637d13f35ebccf27c2bfa98a9bb7d0e9b53e4afc5d2d1266db61486281d09a2a1c3ec3540edac9dcccd8655bcb17cb44bb SHA512 eb9f76aaf8af5bee7315481de2aa99091150c69f281f58d07e8955856316a7ef41c7f0e3e5c5b4ee14c76108f03a7a396c6f1113fafec49883a09b5049a85e93
AUX lvm2-2.02.106-pthread-pkgconfig.patch 860 BLAKE2B 73c23ba460787dccc1412a8fdba9cdf60172fecab9a732b154af7e7bc4c927a751fbd1107c86cd997221b963748644885a4f525eae351aa2857c4d7e1498f755 SHA512 ae073936ee15fdeabde4d3948a65f6a435b82e62aa0ddadbad399b69bd5c9bfc181d5e0be1beae9f6e899a6e8b9d7c21add13f7a1606cb5ed4762ed5aa5aa223
AUX lvm2-2.02.108-example.conf.in.patch 1681 BLAKE2B 3b7f1fcd005687aa3b4469d88a6fea71c6d5745df0b8ec76dbc6e4e6ad11828785f705503a992a25bae9fc77772fca03f023dbf515bc34e498dd718ed97aaa63 SHA512 b4e983892b7ff47e5e7617376197daa62cfd063cf398235dc4a436fd9025ec4b1e263d7418e2c2943d53be494cba4209e9d4230d54a78762b0ca526f92e9746c
AUX lvm2-2.02.108-static-pkgconfig-libs.patch 3302 BLAKE2B c44b0602e010c7e774d87de808d739987b0bed6e1c963b6a6005b42933edbcaf43dabfbcb26a668c6ba4f0b1e3ddcb2f727f7b57d1c5b8e0c41b201d974a15ac SHA512 246f1029f9346d6bc57c2062c8a223535d0b832fa6bd86947b8b91b094dbc388706a9914f9ca0531666f77e73544612e2819335435b7576b4e91cdb1b0e4f041
@@ -35,6 +36,10 @@ AUX lvm2-2.02.67-createinitrd.patch 660 BLAKE2B 23e784e6769bc1f47fa57d690e6bebdf
AUX lvm2-2.02.70-asneeded.patch 336 BLAKE2B 4d5b59f62107bce7a8bc6bacddd84b4f3bc8a53c5b5552b32d4bf058a83fe0eb79380ce6fe0dd7e8dd596ef783f02c50d3080d852a051e825f46eba0c286b9c5 SHA512 c4aa5b7120c5b28a3d646b50b561060553dedba766348260e5db6d56776f1474cec09daeab50e1aca2e1d2d166b9ed57e83673b92bc1c305669c13a719696600
AUX lvm2-2.02.92-dynamic-static-ldflags.patch 3031 BLAKE2B 4e0e8bf8335420087470ca2b5ba01d1fbc1164a53f768415f2a6e4208ba9f65865719eececdbf1b8bbfd021813fb9cf5505a4066529e019fc25b9695feb29bff SHA512 edb78081d12bebaccd31c2474cb531563b729f1ad966afaff7892556177ee7a68217cc699c65383318066139ba62183adc8334f46f8f8933d62b6b5dcd11a023
AUX lvm2-2.02.99-locale-muck.patch 405 BLAKE2B 07ac7c7f54d06dbdeae1c6bf0959fd0c223b30cbd67c08f853e02f520d212f7b6dcf7c3b6c3d3b7370bb004adbb23b226bf0d0792b5799ddbaff5ab655124ca2 SHA512 1c898693f71d165d55458ab87886a25206930c202b5aea95eba394ad06162cc710c1435e598acb9bcd3fbf46abf5409be972f6ce73bd02b2e177e1af780ae7ad
+AUX lvm2-2.03.05-dmeventd-no-idle-exit.patch 2737 BLAKE2B 957f51a45f41920e73141cff56612e1bc334ef455fe262f1563d7c476ed534922f8f7a5f99d4f8ad69bb8830b7b1b97cf7afeb9a628058d54ffcef9d6497956f SHA512 c8ba4930114d8f6af230c21840e966def269e064c2236db6402a527f4e4050762082f37a770c551d3dab8d1b21642cfee701e48231f2bf42d50e41056725b711
+AUX lvm2-2.03.05-dynamic-static-ldflags.patch 2696 BLAKE2B 7464ee428e2cb8834181d3023399f2f913912bc58cb69af1fe9bb4418aecea1e4815c79d349e335cf60a7566052a34eb48db75f4f69bc0b0c2454def45edb18d SHA512 cb8e517967501fe11fe6c19543c37b26ada300bc06156b9f84e96fed96818e4a63e5a4322736d8e1eff4025a268dfb5570c4ec514bdf92df219a626f8bacd607
+AUX lvm2-2.03.05-example.conf.in.patch 1831 BLAKE2B aac73c92dfc81df0a7144f5c91cc74a162539030b2e576e21abf5588de386a1ef8173a28b3a47ad5474fb58afcb6f263f281f94abc7c442ddc03a20bc0645907 SHA512 d538b05769a92c4cac5ff39d21cf8975602b55e859e3f6e439b641de103a1097d703cbc133069e30cc9d512bc7d091c64b223af7012d5d47dc7ac724d2e3b18d
+AUX lvm2-2.03.05-pthread-pkgconfig.patch 1442 BLAKE2B 6d2864c91fc38ba3c8e97641610c028bcd67b16bccf380b9fa8d7c5d18b714f91e35a4eeaa668f6b07dd057a663ac8c9f7e0936fb040d6ab258652327ca9bf22 SHA512 f20104a2f78900211bfadca486961039ce3e153dba9a242e4a2400c7e7efe06d061a76a4691f45233cc85aa15858cb8f44bf7bacb44007a8026c7c4794de4873
AUX lvmetad.initd-2.02.105-r2 284 BLAKE2B 6be707673353492efd5030958b42e6d4f388d2edc367e6c4964d5d88c9d1dd43e3e69e00f755bd801d7e39ea6c99d8717552c6d3d96f9cb3d4f3f9f0d8c5df18 SHA512 af87eb77cc3091b55fcac51398ad3a489c0a4e34d4d5274596b8504bfb69b37e10d432fe314e3d65de5e6de23df95d0476855cb85dabfa2ac8a61a25aef68226
AUX lvmetad.initd-2.02.116-r3 345 BLAKE2B d458efd01fa08debe0857072c880adf951477445dd619a052f50cab9da39d8a38c9d480fc2d20fe899e01dcbcdaea0696d5c3e65af128652feea3186857d206e SHA512 f3143c6e1d00893009c68141f5ffd7e1e6bcf5b7ef0ff8505bc6c7049d83b2f9ddd2dc5a3cfdc2641a20603830b5dba07d73740cc5ce82e6b1b602a9b737a241
AUX lvmlockd.initd-2.02.166-r1 390 BLAKE2B aebfa2a654eca784da24fd4e4d46b3e6c97256a42b725e015a13c9673e79c0d1a10213d1eecb6c75d4ce1ebd99e6200010f19c36d758018bdef303ea08ee5549 SHA512 6359b3cbff1fa05944fb69582234220cac593b2c8f8317162a728bac72ced4f8b492ce11e6ced6d848a7654fa4a506c1e658f546cff302344a739646479a62dc
@@ -47,8 +52,8 @@ DIST LVM2.2.02.185.tgz 2386328 BLAKE2B d2e31de3eedd7518ea2d239cb9b36b38e351d7fc0
DIST LVM2.2.03.05.tgz 2427412 BLAKE2B a66f199b6b9b593746ff7738657d80c3dc6201b417736e8136e8c894532611d9a4b44c3c791cb7dac539e6e2683b348ba17917a2a9ba539ec15cac5c25713816 SHA512 3b00f53771e99faa6459ae73353bff06ae37c64bd2659586ec25d0bb43bc3ff8ba5f713c68617fd7662a5f6cb65bca1ad0aea554819048d79c1cce20bf67c50a
EBUILD lvm2-2.02.116.ebuild 8450 BLAKE2B 1e028c3b1c14ac9e0e8bad95c4882bd05d5227f462f594f9af5b4fb58c1cb89412006e497211645dbadbf3fcca35f95c88d5b30bd7415ea4ecf53be26e8465cc SHA512 6aebbe79f13bc0ce8422c9d0ed73f30efe9f04cbbdc190b5d52dc63be981be1cd350c9dd586a6dc2704e4c5abb7ca16eee878350eddbcee46ebdd21f148ef07b
EBUILD lvm2-2.02.145-r2.ebuild 8637 BLAKE2B e21d693c8428d8704be6f5065939081f0c1992f016a55ca2d2074caf9a4066ee45cb02b57c84d6377d0e993110da67164716f1974ed474a095c54c3dd30f0c90 SHA512 cd63c1e595901e17f9cd0fb7d780ea8538e3fbc48111fbd6e3d3ba9c7aff23d7deeeb8e556aa7c206884f49891a534911f0186750a15d4bbdc81424f1316025a
-EBUILD lvm2-2.02.183.ebuild 8774 BLAKE2B 6f22c453991e96abb3ad32d94fb767772e4a8144e61d6e9870aaf1c2910926d1e1276664c56e33b8f1eb78134b7d8f930232c685e0a5a33602fb76b698903180 SHA512 3118a7752add5a12bcca7626a8ab5db67f7ea43514c118a1bacb2be8dea51fae41586ee93036c547089fdf10cc657830b2d19613089060d0341c9a17bdf795a3
-EBUILD lvm2-2.02.184-r4.ebuild 9315 BLAKE2B c7dd13a55b50a0e4c5c05211d5744de4c15e5c68bae0d620628a64cc6c93285f3a251bbe594d8556be31341805bd82502d715632adca69eeb51febc427bb9b1f SHA512 28f11e48ab1237876f77f48a3b30f26a3344091dd18c0a7e609dbcfed699bb6c76b90111f603a7c8d03a420c9a031ba1a24081457b67a9d10835de7aad990c72
-EBUILD lvm2-2.02.185.ebuild 9434 BLAKE2B bb5038e31f201fa2b9b30291826695c9d90be9895354d6532a2c1ad901259c46fa16196ead233145ca68b5a150794125df21cb3df0af0f20141d412287f1ced3 SHA512 6e2861fa5bc2dffd1c46e35bb7d70e027afbbb8343cbf1c4a78f301b5edd78a77bc377b093c63422a4a7b37a4772eae3b847158ebe10baf6afbccff0f966f91f
-EBUILD lvm2-2.03.05.ebuild 9343 BLAKE2B 361c8f9ee72d73ce7f9a70f56bc2fb96e686dc351e5510a0fc1546584e0efff51e1e2a9d5c001f988987005d3467b4ad4f49396428acca995c6d6c8934d0e708 SHA512 b4a37dbab3c533bc17b1a2f577cdacea6f1bbd1412587c92bda60c3e45fdc723c2e15497f840bd395ee28ab1c1085a5a39f06af58f58a5fcce02b0496d0a54ea
+EBUILD lvm2-2.02.183.ebuild 8886 BLAKE2B f70bfabc88eeacfd2ea52a22ade436296276f53db341ed1be96e72e5309f4494c6ecd14b5a057f33c67efc36c5029c146a90aa3db6580c03290598043597fc26 SHA512 87c6dcce5a9731e3d0f4c8ddee25db5324dd25ac66a70f632a9653d1874a10eef84ec4ab6089651b00a8663cb3af9bf7c10df352353e32d04d7a74fc80438922
+EBUILD lvm2-2.02.184-r4.ebuild 9424 BLAKE2B bf506a9a4cd7bd4a307ffb274943c502aadddfe35bed56841116d6cf8e2dd33d051e769f36dae1a678dc292f68d49b337634c2cc16ceddd284495da319075505 SHA512 a69837d3c29391fcc907a641340e96d46d49085a10c43c31fb2236ee113f1be9331ad8d75cf3152de87ce765f93bcabea7cef1183d7bf6176654ff410b048e92
+EBUILD lvm2-2.02.185.ebuild 9546 BLAKE2B 5340d3dd5b5644ac8c6edb7379610950d5f0cd94ce09b7e3d9b68d1bcb67c78cc79ed2f5fb16ecc070119a7a050c95dd3df666238b0544abd4e76d4f154b3e45 SHA512 d675da33cba6f0de1e5fa614f60ee01f4fb0461f3776a7dce9dd2c7c93008373f081fcd817db2183f05d697e6f9077f6a8de032f806eb23e12130c48be558451
+EBUILD lvm2-2.03.05.ebuild 8925 BLAKE2B b34bb9025be56cbd85a0c9c886527252b254fffc62452bfd8b0d7229c91eddbc815cf3d0b005c783d28a42980fd2173c169fbf4472629fa21696d65b97e2a864 SHA512 af7b0c8a801022f753a0268a7bde1e88c6a05c636722eb9cddd8cc54b2c73042078f5c6fc571e8189b30daa6fadbae40012779316a27649f9b3bbe6af01bbae9
MISC metadata.xml 1146 BLAKE2B 7a4bbf38d2e752523c2909c240a2c90ada04aee8efe96c62c5989887f4997e00a4ed7312dd9803d8ddcae02e8bbc3ba8f0fa9e5da0f484bc9768e0ed99ab8be3 SHA512 24240ba35d93d9f9171f2b164d949846a5ea2126eceed4b4454dd0b4efb9b1132f9f6717d2c7364f20820b792bbaf26dc274f7c10767993b35a565a76e042f4f
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 000000000000..7b7d90b98269
--- /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 000000000000..ec37e5da1dc7
--- /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 000000000000..2b9a5dd945c5
--- /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 000000000000..a79250b8b4fd
--- /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 000000000000..56aa2a7b79fc
--- /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.02.183.ebuild b/sys-fs/lvm2/lvm2-2.02.183.ebuild
index 1b37eab4af34..595dd187372a 100644
--- a/sys-fs/lvm2/lvm2-2.02.183.ebuild
+++ b/sys-fs/lvm2/lvm2-2.02.183.ebuild
@@ -180,6 +180,9 @@ src_configure() {
--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[@]}"
}
diff --git a/sys-fs/lvm2/lvm2-2.02.184-r4.ebuild b/sys-fs/lvm2/lvm2-2.02.184-r4.ebuild
index 8bdc388eb348..eab949397c29 100644
--- a/sys-fs/lvm2/lvm2-2.02.184-r4.ebuild
+++ b/sys-fs/lvm2/lvm2-2.02.184-r4.ebuild
@@ -11,7 +11,7 @@ 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"
+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 )"
@@ -185,6 +185,9 @@ src_configure() {
--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[@]}"
}
diff --git a/sys-fs/lvm2/lvm2-2.02.185.ebuild b/sys-fs/lvm2/lvm2-2.02.185.ebuild
index 2912f4832990..812f84d2b656 100644
--- a/sys-fs/lvm2/lvm2-2.02.185.ebuild
+++ b/sys-fs/lvm2/lvm2-2.02.185.ebuild
@@ -188,6 +188,9 @@ src_configure() {
--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[@]}"
}
diff --git a/sys-fs/lvm2/lvm2-2.03.05.ebuild b/sys-fs/lvm2/lvm2-2.03.05.ebuild
index c605404faf84..12b13a5e36e6 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,26 +170,29 @@ 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)
--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
+ 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 +203,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 +211,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 +221,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 +235,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 +253,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() {