From f625b9919a60a30f1bd860f7d1b2eac183ced593 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 8 Aug 2018 20:11:47 +0100 Subject: gentoo resync : 08.08.2018 --- sys-fs/lvm2/Manifest | 13 +- sys-fs/lvm2/files/lvm.rc-2.02.172 | 56 ++-- .../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 +++++++ sys-fs/lvm2/lvm2-2.02.171.ebuild | 299 --------------------- sys-fs/lvm2/lvm2-2.02.172.ebuild | 299 --------------------- sys-fs/lvm2/lvm2-2.02.181.ebuild | 299 +++++++++++++++++++++ 10 files changed, 592 insertions(+), 629 deletions(-) create mode 100644 sys-fs/lvm2/files/lvm2-2.02.176-pthread-pkgconfig.patch create mode 100644 sys-fs/lvm2/files/lvm2-2.02.178-asneeded.patch create mode 100644 sys-fs/lvm2/files/lvm2-2.02.178-dynamic-static-ldflags.patch create mode 100644 sys-fs/lvm2/files/lvm2-2.02.178-example.conf.in.patch create mode 100644 sys-fs/lvm2/files/lvm2-2.02.178-static-pkgconfig-libs.patch delete mode 100644 sys-fs/lvm2/lvm2-2.02.171.ebuild delete mode 100644 sys-fs/lvm2/lvm2-2.02.172.ebuild create mode 100644 sys-fs/lvm2/lvm2-2.02.181.ebuild (limited to 'sys-fs/lvm2') diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest index d6d3f6227a41..ebb4d875dcdc 100644 --- a/sys-fs/lvm2/Manifest +++ b/sys-fs/lvm2/Manifest @@ -10,7 +10,7 @@ AUX lvm.rc-2.02.105-r2 2960 BLAKE2B 40cdd0e6c3a717367fe6854524b5f355e952f2640823 AUX lvm.rc-2.02.116-r4 3771 BLAKE2B adc48b61dcc4c9b0cbd808b79ed2cbccaabc2599f82680ff27dc74a67589fe36f1760693efda29eb0bbffc04624f671b56309c9f77fdc7e911274b342775cc2d SHA512 aa19a17ea3c6626355ac6f82aa383e7a9b253248513d7ef876e381d1a58ab78267e0e39df95a53114675582312693a128cf517051f906aa17a244f8d398f3aed AUX lvm.rc-2.02.116-r6 3783 BLAKE2B 5150d5c15db03d65b43fd29a23043c2dbb16805a00f79fbec398980f93f9c490474a03b6b7d0d2748ac9a39619b81ac04f6aaa14e700322b09c3e1372f843cd2 SHA512 f819faf7844c3b946b437aee8eb5dd52bfdbb9b820a2024ad42166895e72e194898b16a34c44c69786539d19e5458c12a333f99db02c26589567bb6aabb23639 AUX lvm.rc-2.02.166-r2 4146 BLAKE2B 7cb3bef38fd46a1a1ffdce8fc5a58a26387d3e68ef7e5abd3ee565ec4b0ead591b54197d90a8ccad00b9307eb4a243d00be29b1bfd1ec2176dd3c2cf626852fc SHA512 a08891d52d1b7f38d09d15100ae19737ab6b65ae51f1e5d2ca43dd08988fee272972ea02fb3a04240d56812089a0744d215fed87e2ed29d09cfccba0de59d3c7 -AUX lvm.rc-2.02.172 4207 BLAKE2B 9c3e4ca320fda3ae587d908f416f8730c8965f3eea1b79fdd9453c505793870d7ceea0a8f305efaf8579805c773cffac084bc62854eb7a61bceec7f29c3bb183 SHA512 8aff8ed7f854dd326dd78c4862cd0a518deed10e05533d0a17fe47c18db8bf29b26799950f534b52aeabacd3fb70d83f12c523cab0a0f2d669aa0ff9d3fa1832 +AUX lvm.rc-2.02.172 4269 BLAKE2B a53fb5302293f7afb800400a0bb1e4f60ad8c3f7951c0872ecc3940016613faa1d141ab040beb66b3bb0b89ffe0db6be69d9924be071f57263b1c9a54eeaaa85 SHA512 1c2a246959420ab0e05e537a29b3c99c6be4a92c329cfc1c2955f0025333c2a1a48abaf864fde5b552e9c03aa31ca204c3ea49b69112f66f4df5fea7148f1953 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 @@ -23,6 +23,11 @@ AUX lvm2-2.02.145-mkdev.patch 4111 BLAKE2B 478c987c900c4ccfe3bb7d099b8af580f057b AUX lvm2-2.02.166-HPPA-no-O_DIRECT.patch 285 BLAKE2B 0311aab5b4ac843ff36fb7c4dbb8f47538fb621848f8430118dbbbcdfbf64876098ce9732109dca00e9262551b12a0e3293f0edfbb82dadf2d442f448dd695a3 SHA512 e113c31400d9f382b89901be199dfd3dd3888e0b417fb080d381d2aab79ac522dc968fda6aa7fd7668d018fd9109be133252cce01825bf950a79da145ff8b240 AUX lvm2-2.02.171-static-libm.patch 525 BLAKE2B 5cef02547acdfe24fb26cd96a0bd6eccb0c5cbc5ae79ed4aa0d52ad94391f5ddfede194484f2a9c00add07df7fe69e43f1d122c41c8fe05a91e86f797f4e9759 SHA512 498132b93e482739bd7bf11ee457b837843dee951b66fe268411e7aabcaad373c6c9a0d43083940c85348c506eda2d0d49a3aee205110388e18f9b58a6d6ef1a AUX lvm2-2.02.172-static-pkgconfig-libs.patch 3851 BLAKE2B 87789e011380ecb5336373e47266f3e4cd6d617ab68763418c488a8a7d0d5cb14bba5bbf2710d5f9c30a6f9dd947cfb929f98f7f0e54f38a6d338f8f22466e14 SHA512 15e031c22f96d3a12e985129ccfa24e91edbbf30741a8075f089ae22f482f9b0c41f39d3c92ba41dde34a7afb505e0816347d385a9eb5d7692ad63053aabe79d +AUX lvm2-2.02.176-pthread-pkgconfig.patch 822 BLAKE2B 9c5d89a70c0a7074d689f8f50a1f811b91fe8a64b564e22426bce4574be165765b3640f8dc650e4ae047340a03390fc70faff0cd78ef5251063d28030e1f495f SHA512 d96f579bbdc56b8288fa01e6c416bfcf229c92b659102edd1aa10c9ae1c35eeecb4299bce161218dae423995431e8a12a2a78a80a868b79744f74053ec2f9bd2 +AUX lvm2-2.02.178-asneeded.patch 452 BLAKE2B 6d7013e7a0e1aae933e22b2c30b85cf744f1b34bf865714b64d3ac81431dbad472c637d735e618830966c76a3c82578fff599f51ee600d4b3a79a46e3d5a6abd SHA512 9890ae7cbc10589db730531ffbb8ccfeb15d6c548379ce0dc81a9c8e18b10e2305d1b0556d3e7e5dc23baa1546521c9dd786d446b6db28fe2f1875e32ffc0d45 +AUX lvm2-2.02.178-dynamic-static-ldflags.patch 2279 BLAKE2B 526104c96dbef36568a11898193c5d0a7d69a63df2011e1f1a778a4317248a683470e331ddbf8b07fe8654abca5a96e9a53d0b13715c860f8c1e8b33b8e95384 SHA512 83f253ca629e90380164edc74f3900f6e40fcd0002d357dbcaecf4a75c2a2213c55cce1291a27afd2e07c72838e46fe7438217f8a103c20233ffa2621cf02cb1 +AUX lvm2-2.02.178-example.conf.in.patch 1650 BLAKE2B f5e04bb7524cffb5ee3f6f819541eba0681e8a32f884be4c78537a38848fdbe03d3028b90568e03810df86012cfb497c9050fb949c6c8b1d4460174a6794205b SHA512 fe30018b3f0ebd6f99e63a5d8b423365b8f2c5d5b17b19810ca1bea52f49a5c07e059cfcb1851be752024ba5acad6fbb736f20264b83bdf385f845c3b68d5b5b +AUX lvm2-2.02.178-static-pkgconfig-libs.patch 3495 BLAKE2B 85869e4f46b001c4a8d43692ae7e3d73731deb9bc6094b4cdb3059058dfb819ecf507f5c5a5b47d4be4db18e6d0765c652f5b0e18ea17ecb55112fc70f7033bd SHA512 9a8b3d2296e4966d7209bdef3cd4c40f65a81ab5c2220d6b8ea06fd35ebad272a09a39b7f4e352eff32ad82babfbbec6c4f108d200193b3f84b225f739e0afc6 AUX lvm2-2.02.56-lvm2create_initrd.patch 2032 BLAKE2B 5533ceb7a601d58995e7a90b1355508907edb30d14704b397a8c8ba0d66dbcd3d6b02ace1cadef1dfbb1d927449403f76f0f38e5d034344b3232deb512507cb6 SHA512 b2a1705fa6b962027ebc5047583547489afe8ef8d8977c6284a28d0a8b0e05e20e6c48bd6c02a8bb02de9cfb40ac2d6e2a4b8ed8ef8c4ae7b6ea9a29bc4194de AUX lvm2-2.02.63-always-make-static-libdm.patch 1420 BLAKE2B baf7010b5965f5c2b9a32ec812cb259cb3ceccea0d56e48d75e9f8e872634913f160fcfff0c2c77854ddfeaafb3b48bbca16d569041ab6f45aecb950f8e5bf4a SHA512 67735af9e51369d5b3b400cab4f9ffa25f8dea1c1ec3d01855cb3c5aeade5c39a35eeed43f3a665204fe6bbba4ca43baecd845330bf26d023064b94ca3d1317c AUX lvm2-2.02.67-createinitrd.patch 660 BLAKE2B 23e784e6769bc1f47fa57d690e6bebdf16d784d775a06af1c8eb7c54dd63a12abb0edd8331c8d033d7a0dda058252453a46dd35bd820fd47ba1407e9568b3858 SHA512 17fbba5d34ece5c1c25ef35fa3bbc3d6fcd20b44bd766c049bbc120853a8d60c9544db5790645a7814db5c272fd12d383699a8a9be6f4e9c56a7c0a1bb29ade2 @@ -37,9 +42,8 @@ DIST LVM2.2.02.136.tgz 1891010 BLAKE2B 606900337eec96a5a124518b1cc20712763f0c79b DIST LVM2.2.02.139.tgz 1897293 BLAKE2B cad5f37a9190c40147e80edcec6af1717f87c2cce01e6e4cbd8cf8b594d995a08b52070b0d45dd9f1f8b5120c2babaf0ced158e70227dde516fca838369f7664 SHA512 f112207d7447606915026495b931bffc4c0d68d36b9a8792fe4b7abf8b743bc4559da5c79145cb4d457337118e60552f9df511e31f2799001d29d006f7946cc0 DIST LVM2.2.02.145.tgz 1986370 BLAKE2B 0c9e5efae17f26ff86152cecbf0b11a74e85007b2fa9491f44dec03ac8c11375bacf6685213b4be19037c8fbf70e13549516716ecf8fa262919a44625e6aab34 SHA512 84e28b3efc940837ea9da70fce620744aea0945ba29383b76ad7bcd4b5259b897c714162a8e8b7cfe26ae736a3ad2eca633a3e0df4d6280a32b28bd4cf472d27 DIST LVM2.2.02.166.tgz 2148324 BLAKE2B a57ad21b1f31a6e78c56e4cf77e0d6fd99262c95a0093fe3eb9d6b0a82b675c0d39c3337af4a4bea87cba0c0a816bc98f7052afda6b850dc4712f5539942b7d5 SHA512 8bebe9b474f791b5edf5366b0bd24861fbbaf8a83afa2a9e2a8e3917e05e4ecbf6877f018be03ffb4e9b4c8832208264165b85182bf79a07661adf35128b4a21 -DIST LVM2.2.02.171.tgz 2333643 BLAKE2B 169155354ba1de7f97a4f9e9156f3f7ba8553a2313883152371637986e8c3355906831368cd2e2c8c30d85045865c24667dc624fdbd36ae6a632a1a678c5cd23 SHA512 801adcc2ae483f81edf6bfba73090b6b8f710370e48764f08a62da71d617157075bea01593c2535ad5ba71dcb5e0cfe83cec9a65180a6e8b9e0d214bdee79883 -DIST LVM2.2.02.172.tgz 2351684 BLAKE2B d303bceab0f30ac726563cbf6491439b0528223c1cb0351aff348b08502912b53b6df449b261ead011c3c40c63603840bfcbc8432f79d047733b7da673ff2b76 SHA512 402612667f279be5f1c682b9037022788e9b76e3157907a0832e8b7847c3aa96e4b44a3bd880657a7e577ab46db0e4f283ac6edbb52502e365617633c802ae40 DIST LVM2.2.02.173.tgz 2363504 BLAKE2B a516bc9b68b7b7529f4436d8849ca741eb3ca1b5ac2eb2fb2915507935bdd28b5e234e74c1bce827e5761f57b5936510d08107e0dc1c320190f952c706f128d3 SHA512 c2ea8beafe006abf9282f51ec98600fd0ebff816d53c10ecbb19bbf336ada4825135cf9c92ccd364afb18f8b1d7e163eff5bdec8dfdd70dfb9ba45db2f6bdd5e +DIST LVM2.2.02.181.tgz 2375093 BLAKE2B 4e4e7c65511af5902e765254a4316a9f887a6ec5c079333d78f19bff71ed3ed9d0e2e2367b0bb5e619ec6778adc9ddf944156921cec67af4d73aafc08196b73e SHA512 599d992823510e27f3ec3ceaf0d2332402b731afc0d2df88096ab55ed98dba8c3bdc5408d51b9f5b0ffbbb9ac3760ee37b878a0f36ab379449dc076c58e59511 EBUILD lvm2-2.02.116-r1.ebuild 9247 BLAKE2B fc674ff7f5783ca558e306a6df7559d7191046ff18a9c074d6d2c1bba2e4c717a25fd4e9b67dbb6c5a765bafba97fc4d8db51d8ce2e3d0e23816a2ccadb23dc3 SHA512 d1274a15d39b795fd94e24ab32bb1bfb776b288aedcb45b8c3ac64f0bcee013c51d4a524c91479e7523d7b28afc68f32a911b9b7adcd1bc7844a31329904e547 EBUILD lvm2-2.02.116-r2.ebuild 9386 BLAKE2B 4f9ca3e3105ea84a6731abe260efcd0c491bf30839f1d6b98d26327047e3afb7d2b83c333774bb3481f9fa1b5d10f1ae64b609599739af21489bb902bb6c5dc1 SHA512 42b3583ca14a706cd13fd4ed79e4f1bf680b6d3312aa8b815be8ffe7b0ccc74107b8df0629ad1a353be354fac6815057ecb9f0dd742be8dabfa9ccc981e30f58 EBUILD lvm2-2.02.116-r4.ebuild 9572 BLAKE2B 5395ef556bd11d7f6f37720b6c415b33fb29e4bcc2c6035d6c23b18e1db789780f46a9135b423c8709a4d52dfa005d71a094b0f493ba89dcf6c6f84606ef4400 SHA512 763b64def4f7ce4b2d0ed01c7733b643460ff73c3b8f1ff2dfb79c1ec46b822e38c02be7c0d73c8d2ef5f3090526dd608c0a0df916d4bd0d5af0901669a985f7 @@ -56,7 +60,6 @@ EBUILD lvm2-2.02.145-r2.ebuild 9619 BLAKE2B 4461e5fee86d087e94fa8d64bbfe73f746eb EBUILD lvm2-2.02.145.ebuild 9633 BLAKE2B 73d08c486afd126faded9b1b0a080843dd941b73d5bdc3e3e95025d4626fc1932abd7e8a639c7173a140981c5f7aac6819ee841c893b86c1d1f2c74ab46429ce SHA512 950229bcccf673055c61b7c84b40db9ac8220a0f5de5cb8e623596944fe521ffefa50240435a03fcaf52cb8b9dde326b68e84e1b74d31396c91655d554be914a EBUILD lvm2-2.02.166-r2.ebuild 9835 BLAKE2B 002684c21e6c01a5abef9c5d8af3dd3ec772fd1bd52c4c1652cce32ee144100f74fe33c6a2a6a8bf43b02c465a5c9451928088980010fac36ab1e3cef3191c6f SHA512 19c4124879f5de8b179918d9b3576727a1e35dbf22cd90ce1ce0f17f35e00c540c1bb821702ead6de734093ec03445d130a3707ca9edc9caa02c13dab132909f EBUILD lvm2-2.02.166.ebuild 9665 BLAKE2B f6b5984ff34bc28a51426bdf38029623dc5758562b498ac0c324e9efc9ebcaffb9d952a1df328ff882ae463b9018d447c04a934cb71755ed2ae8a55d828417f4 SHA512 bd470eb2b113af3c1f8f3b09386e58db18a95bf113ad9353f68ded0dba0f17ff0ebb9b139c56ea81b2de6bc564f33935038f25f4a8dbc414323a81f26c9b8213 -EBUILD lvm2-2.02.171.ebuild 9929 BLAKE2B 2e9c753178d07723b98e37791e9fed0f10d5c965ff6fbdcbda0ad4a6e6a326cb016fae79a08af6a7af3c894e02d56e4d0c7d377246a5223ae3f3460754f22252 SHA512 adb1e074bd46692f1ea23ebd66adeebaab8cd5bacd119c08d8e4a8adc09a3d520c8f90b0267f8d564d290a8ad2d5a7f68d758e15e47a737f4c35207f3f9082f1 -EBUILD lvm2-2.02.172.ebuild 9926 BLAKE2B 5d6d1e95795def64b1f91d8ad52b091f9971802e54e4526eff16986319125ed49561598bede91f20702ece9c1db07a1cab558702b1d6369050de8168bdaa7cb6 SHA512 e25c41a2fb284ba759788538d975b2476047f64e4ad301665bfdb3c3075ccc32470085b449766e59085ef1690e9522c83b60b900a67f229b468a0c1c010b033b EBUILD lvm2-2.02.173.ebuild 9926 BLAKE2B 5d6d1e95795def64b1f91d8ad52b091f9971802e54e4526eff16986319125ed49561598bede91f20702ece9c1db07a1cab558702b1d6369050de8168bdaa7cb6 SHA512 e25c41a2fb284ba759788538d975b2476047f64e4ad301665bfdb3c3075ccc32470085b449766e59085ef1690e9522c83b60b900a67f229b468a0c1c010b033b +EBUILD lvm2-2.02.181.ebuild 9927 BLAKE2B 4e7c8cc07836d429ec3e7bc598ab2f71d712da47e10b9ec3129cd3c9d7b6d1821d020f52f14270bcd5100fb6e0cd3739d587bfb5c8bfeed9a3fc19bf113bdd90 SHA512 3159f12b97bd23ed02bd173b51bf842e19fc35bad7754e7fb87e39a920a7e3bfa9a8c304b3764b1d0e9c64ca7e3111b88540005903a3d4509d6a794e195ae431 MISC metadata.xml 1397 BLAKE2B fb780193c777b248648d09cc4c0f287f07b64df79912a4c1c37b5c456f8fc8ea98470c03501619432bddb5df1e3f877178a0c7e630b295a01a3bfc27fa63520e SHA512 1ed97dbef323b6703097c20de99e9003c88663a887bcf87c9489baddfa180aa3d8645e4e60cd3eb3b9505603997ac3ab98a7ee96a813b77b9dc25862dd332d35 diff --git a/sys-fs/lvm2/files/lvm.rc-2.02.172 b/sys-fs/lvm2/files/lvm.rc-2.02.172 index 9e22c2801ff1..c3f1f08f399c 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-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 _get_lvm_path() { @@ -23,6 +23,7 @@ _need_lvmlockd() [ ! -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 @@ -112,34 +113,37 @@ stop() { 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) + # 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" - if [ "$VGS" ] - then - 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 - eend $? "Failed (possibly some LVs still needed for /usr or root)" - fi + 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 + einfo "Finished shutting down the Logical Volume Manager" + return 0 + fi } # vim:ts=4 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 new file mode 100644 index 000000000000..c0265e81268a --- /dev/null +++ b/sys-fs/lvm2/files/lvm2-2.02.176-pthread-pkgconfig.patch @@ -0,0 +1,29 @@ +--- 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 new file mode 100644 index 000000000000..c831c6d6e60c --- /dev/null +++ b/sys-fs/lvm2/files/lvm2-2.02.178-asneeded.patch @@ -0,0 +1,15 @@ +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 new file mode 100644 index 000000000000..0a0e73209062 --- /dev/null +++ b/sys-fs/lvm2/files/lvm2-2.02.178-dynamic-static-ldflags.patch @@ -0,0 +1,59 @@ +--- 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 new file mode 100644 index 000000000000..34c710d4392c --- /dev/null +++ b/sys-fs/lvm2/files/lvm2-2.02.178-example.conf.in.patch @@ -0,0 +1,50 @@ +--- 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 new file mode 100644 index 000000000000..989b3082576d --- /dev/null +++ b/sys-fs/lvm2/files/lvm2-2.02.178-static-pkgconfig-libs.patch @@ -0,0 +1,102 @@ +--- 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/lvm2-2.02.171.ebuild b/sys-fs/lvm2/lvm2-2.02.171.ebuild deleted file mode 100644 index dc1aedc9517b..000000000000 --- a/sys-fs/lvm2/lvm2-2.02.171.ebuild +++ /dev/null @@ -1,299 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# 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 ~sparc ~x86 ~amd64-linux ~x86-linux" -IUSE="readline static static-libs systemd clvm cman corosync lvm1 lvm2create_initrd openais sanlock selinux +udev +thin device-mapper-only" -REQUIRED_USE="device-mapper-only? ( !clvm !cman !corosync !lvm1 !lvm2create_initrd !openais !sanlock !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= ) - 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/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.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{.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 ) - - if use clvm; then - 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+=( --with-clvmd=${clvmd} ) - myconf+=( --with-pool=${buildmode} ) - myconf+=( --enable-lvmlockd-dlm ) - else - 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 sanlock lvmlockd-sanlock) \ - $(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.166-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 sanlock; then - newinitd "${FILESDIR}"/lvmlockd.initd-2.02.166-r1 lvmlockd - 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.172.ebuild b/sys-fs/lvm2/lvm2-2.02.172.ebuild deleted file mode 100644 index 64a75336d322..000000000000 --- a/sys-fs/lvm2/lvm2-2.02.172.ebuild +++ /dev/null @@ -1,299 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# 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 ~sparc ~x86 ~amd64-linux ~x86-linux" -IUSE="readline static static-libs systemd clvm cman corosync lvm1 lvm2create_initrd openais sanlock selinux +udev +thin device-mapper-only" -REQUIRED_USE="device-mapper-only? ( !clvm !cman !corosync !lvm1 !lvm2create_initrd !openais !sanlock !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= ) - 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/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.172-static-pkgconfig-libs.patch #370217, #439414 + blkid - "${FILESDIR}"/${PN}-2.02.130-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{.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 ) - - if use clvm; then - 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+=( --with-clvmd=${clvmd} ) - myconf+=( --with-pool=${buildmode} ) - myconf+=( --enable-lvmlockd-dlm ) - else - 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 sanlock lvmlockd-sanlock) \ - $(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.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 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.181.ebuild b/sys-fs/lvm2/lvm2-2.02.181.ebuild new file mode 100644 index 000000000000..1363c1d32cf3 --- /dev/null +++ b/sys-fs/lvm2/lvm2-2.02.181.ebuild @@ -0,0 +1,299 @@ +# Copyright 1999-2018 Gentoo Foundation +# 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 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="readline static static-libs systemd clvm cman corosync lvm1 lvm2create_initrd openais sanlock selinux +udev +thin device-mapper-only" +REQUIRED_USE="device-mapper-only? ( !clvm !cman !corosync !lvm1 !lvm2create_initrd !openais !sanlock !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= ) + 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/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: + 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 ) + + if use clvm; then + 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+=( --with-clvmd=${clvmd} ) + myconf+=( --with-pool=${buildmode} ) + myconf+=( --enable-lvmlockd-dlm ) + else + 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 sanlock lvmlockd-sanlock) \ + $(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.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 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" +} -- cgit v1.2.3