diff options
author | 2013-08-14 16:14:34 +0000 | |
---|---|---|
committer | 2013-08-14 16:14:34 +0000 | |
commit | 10943a8cdf96ddcc07cd415a9c8eeb6255ff3620 (patch) | |
tree | d23c68c82acbe57ba3df873ba4d67d464abcc779 /sys-fs/lvm2 | |
parent | Fixed and marked for ~x64-macos, thanks for initial patch by Changyuan Yu in ... (diff) | |
download | historical-10943a8cdf96ddcc07cd415a9c8eeb6255ff3620.tar.gz historical-10943a8cdf96ddcc07cd415a9c8eeb6255ff3620.tar.bz2 historical-10943a8cdf96ddcc07cd415a9c8eeb6255ff3620.zip |
Upstream patch for "Fix metadata area offset/size overflow if it's >= 4g and while using lvmetad."
Package-Manager: portage-2.2.0/cvs/Linux x86_64
Manifest-Sign-Key: 0x4868F14D
Diffstat (limited to 'sys-fs/lvm2')
-rw-r--r-- | sys-fs/lvm2/ChangeLog | 10 | ||||
-rw-r--r-- | sys-fs/lvm2/Manifest | 18 | ||||
-rw-r--r-- | sys-fs/lvm2/files/lvm2-2.02.99-fix-mda-offset-size-overflow-4g-with-lvmetad.patch | 37 | ||||
-rw-r--r-- | sys-fs/lvm2/lvm2-2.02.99-r2.ebuild | 254 |
4 files changed, 310 insertions, 9 deletions
diff --git a/sys-fs/lvm2/ChangeLog b/sys-fs/lvm2/ChangeLog index 3826f8e3e109..d99c3f6e19aa 100644 --- a/sys-fs/lvm2/ChangeLog +++ b/sys-fs/lvm2/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for sys-fs/lvm2 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/ChangeLog,v 1.313 2013/08/07 11:31:59 ssuominen Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/ChangeLog,v 1.314 2013/08/14 16:14:29 ssuominen Exp $ + +*lvm2-2.02.99-r2 (14 Aug 2013) + + 14 Aug 2013; Samuli Suominen <ssuominen@gentoo.org> + +files/lvm2-2.02.99-fix-mda-offset-size-overflow-4g-with-lvmetad.patch, + +lvm2-2.02.99-r2.ebuild: + Upstream patch for "Fix metadata area offset/size overflow if it's >= 4g and + while using lvmetad." 07 Aug 2013; Samuli Suominen <ssuominen@gentoo.org> lvm2-2.02.99-r1.ebuild: Include check for value of UEVENT_HELPER_PATH wrt #479756 by Alexander Tsoy. diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest index 9985a6402083..fec1e9b27ea1 100644 --- a/sys-fs/lvm2/Manifest +++ b/sys-fs/lvm2/Manifest @@ -24,6 +24,7 @@ AUX lvm2-2.02.97-selinux-static.patch 3194 SHA256 ec63bdee4fbea1ac2b97abd5d56ec5 AUX lvm2-2.02.97-strict-aliasing.patch 3142 SHA256 a4c799777c8e5a83fe1af52ed623ba472b859b5a0356dab2b53b31837b3a582e SHA512 7828562bb0fb95f3f75d08845b8c4767815dd74e117795ec873ea11135deaf389d6f0f8d66cf3c9b3843d6fa977c4be1a341013bcf4f016299e238c0d90be878 WHIRLPOOL 84f957d7b833896fe86fa9bf4c83183a8fb3c96780fd387288371df4fbf697f1ecc1c554862ea749ec72728bd608c1c8a1776cd26185903b53d559e3760d743c AUX lvm2-2.02.97-udev-static.patch 1170 SHA256 a797b0d767c7df83653b9da996b47425ad1d0d6bd79371c231b8f6480a013f41 SHA512 7c45fcccd4cd5097e88bef014fdff0bfde3959c57cffb34657674c4f557b36f4df73a2f3a8af17a12c1b0f52e4b5d99806f6f82c5ae60417ebcbf72b82616c89 WHIRLPOOL 4f303960be89b5e37d3f700eeb6e534c40750a8a486c33f21605d53dabef487b5a00e2bcda42d3dcbe60ebba3e444cea8a2375901bd92b9047b040584c66faea AUX lvm2-2.02.99-example.conf.in.patch 1489 SHA256 55273a2bc6df33057f4efdd947b75f0282a7993acd5e57f0019f8ca57ca7df38 SHA512 0c92a0e454505219653500d4fb2ee57626bb30375782be941bda17d7b841cb05eeebb87bfc4f7aa397b26fb4908bcbd0f69d2c07e63bf4f070756a1894851869 WHIRLPOOL 3f6c94dd63fcf5e2d1406aa074aee27997fa6d58da3db9d22281b3080ec36277bc5225c3b62f042b38f5d0870fb1e3e19433f218f01e03323c7ad1210d45d4b3 +AUX lvm2-2.02.99-fix-mda-offset-size-overflow-4g-with-lvmetad.patch 1311 SHA256 d5547fb0eed458f13154c187037141fe3d1b3fcf049615b231afca332898c22b SHA512 400ef32d4535e45601f6d4e1f0270c0e504dfc3ad1b284b7cfe2b21d9bdc2438f24c45dc85ca51803881215c4f6f9a753fb71c7c357dc9b135bf439eba7874a5 WHIRLPOOL 870aa09765becdf90924e979376810acd060f13653f91ec0694883011570d52d5d4d22f6622313cb853eba7a6fc9cd5b85039d7d6b9f2c5dc1833c2cee1a541a AUX lvm2-2.02.99-locale-muck.patch 395 SHA256 14e7c65fd9aa71b7f09cc1aecfaccb3048dbb09dd4eb4c342556708aa6adba77 SHA512 4014abbaeb1106dbaa360e2573340651adc0cccc6c0c05cc57695e74e7a3d0b5a73e2b72242bab0d0a10c2506a7c30c2a4de0275c0f81a14dfb068ec91492497 WHIRLPOOL 3383e94ca4dbaefd2c628d3a95b17a14602481c98425caf48f490185289eb3f1af2ef234ff5b5c431ea4624edd8e48764252bdf5b7159ab3bbbad699c3f936ab AUX lvm2-2.02.99-selinux-static.patch 4695 SHA256 62571ea45660dc518b36128d929927a7bdd0476c6ecb1ab091807e5fbd091287 SHA512 94d6e29147d9c258f5cf00245b6b341ac301a0da1c0388c363f2dbb59eef69ab6bd4e6213b1fbcd749861d71a78d4f4ac2b4295074efc259bb9586d746ec1349 WHIRLPOOL c752bf942b9edc0ea43d5a0ae1394f8f037dbb74ce299dae0bff7f011e6182dbfe35131bd4496793cd1d55711837599f9ea448265e22523963acc0088fb5b253 DIST LVM2.2.02.97.tgz 1193141 SHA256 edda82012e8a9e1f0b00ba5a331468d3e0201992be14c0dbea71bf564a51fc2b SHA512 c209054832f36d7b9cbf833c702410ac95c9de1e213b550c01c42f087fcae346d3c931c409184086bc1fcbcbc154c9a4f8b82b06291cefeb7ae22fe7a4c254a0 WHIRLPOOL d4dafde0ae1607cb231acbf07e8aecd579b9e9042e9356df1074a2683f5f2d1036a3483e1799cf7dd14e64f1f4c5506d3628979fd7128cea70ad45b653403dfa @@ -32,17 +33,18 @@ DIST LVM2.2.02.99.tgz 1317810 SHA256 493c9ad85bada036418671072355b2fc57fc30eb5a6 EBUILD lvm2-2.02.97-r1.ebuild 9072 SHA256 616ff463fda707204c5e92c3a22651ec3e87168ead21b859f6ad0f00c2775960 SHA512 d395b0dc1a18846f76bc79f7fef2cbb649bbee179ea800d6b82398ff113d21c84d987107d14397986d2dc7f5127345cde7e1c588ddfcab339e016f3133dc6080 WHIRLPOOL f14c3e31b83d73b4e996e47c1db7e79e293881dfb1bc519383cfdaac35331ff4fb0a735d2c138433855b1795f084552126b340624191ba8aaf0069011eb6d823 EBUILD lvm2-2.02.98.ebuild 9057 SHA256 d333bceffbd63be4e525ed7bcb43e9e7f596e96f69cc69a5de1f44803773c504 SHA512 01ab4555de80fef975cbf5844e427984f5de1472dfda3fe51f1870688bc1d59cb5f12ebb100f05c23bc21433ece13b5b8bc093460d299f03efe39fdf4fef006f WHIRLPOOL 03c4d68b1f0d927e62026cfc4279324eb50c7bb86cb6e67b6ba24bc409b6035954b00e63415429c952d10f45377a272d3df88fffc7d30369f104e382b75384e6 EBUILD lvm2-2.02.99-r1.ebuild 8111 SHA256 4440cb8ad76609da3b72be51d0c1f682b290844a3b6d8553955e6883d3de4249 SHA512 1f44015b63c018975f01cca9a5f30611bf30ab9cf03f53c54d9667de22fa5270cb5b3881fcfafe6f08f55a25b96601cbe85cea4c42038b3880a0243649a32e68 WHIRLPOOL 7e4426631eb1ccfcc217e5255bae48eb73758c41de48d9c3c6d3911c500eff8eb858a019a249966844a83b8a856148c9752fd22ac23069d132abc04f8cdedfcf +EBUILD lvm2-2.02.99-r2.ebuild 8217 SHA256 3b2b043cb028b55af42e88a5567267ac837f648e4c5f6327b2e97989eb86d444 SHA512 1f831d00e140b6ffe5ba64a48bfef8ec11ae66981451c9d64d50a6e60c04ba05a4bdfda38400a4d1501e7d4c150e745d0e3ed9512e0f4294fa79286237b66f5a WHIRLPOOL a92d6ad1769a239a65312065074730e9ccc7149b4d71dd19cbee5eafa334c703dad24a8a55e039f0ecfa6187d5cf1e69f3ffcd022485f5f7f2498da0d6e8c929 EBUILD lvm2-2.02.99.ebuild 7907 SHA256 59a6d71918ceacc37c0cd290c6feb52bd54c8e61bafe3cebb3e81c69e516a5b4 SHA512 2e9df6e861bb120b96251a6fa86f17097cf2e49dd0ab9bc9be590af445a55f9eaa2123be319a700a3bd3e1135fd2d02c89786c55f9ddfaa18aeea3940bd853d7 WHIRLPOOL 9662aab31f17b88fda144a872266a364fe2baafc1338905b43552c507a44d24e6ed6408fa60a667b0f0f4ee220922fe8a3ac0d4c69022648be0e4bd724c7b1d5 -MISC ChangeLog 59477 SHA256 f9d3ad685efc6f076bb4273cdf3d6968b2e582d93bbe3c5b802c422c30931bfa SHA512 fb89730d47018cba0ae3c66427f4ff0fa0000f22bcf351544b414a2d9b9046c073b5755d2c8f7231a7f723f27743d8272bae7f69761b421a3d02012b36614060 WHIRLPOOL 8d902bbf1ca2efa8642f8ce37726f2966d3455dd23520a305176b8cf831bd5ca91f43e10949e1157dd6db51243830c69c64fdabab6fa1d4b578908eff9839457 +MISC ChangeLog 59768 SHA256 9a5273499fd8e0f1bb2a7219c608af2777457f7fc34931de35e031c7e9ce1365 SHA512 01baeb7945021cc0211c053053f017188645e59861a4e836500a9cac17d1daafa6923f09901b8e30674239dca55a790f313e6f08925a7ec1875e24b71a1ff05d WHIRLPOOL 80cbbed2591ac0284013ed1940f239d204cee635246158779c46df641311d1e42628ff2b673ae5cd9cb084f7a412d11be5ef92d0d57ca0c248db7dc0b40035ce MISC metadata.xml 984 SHA256 8f554d97062552d62ce2d81c8e4536b3e97539a497dd8cddda3eeab24b4ef73a SHA512 9c0a10af6149817269590cd28e7dc7eb84539184d41123b12bfada3857f87d813199cfbecd7c8219ce1b6a70f4ee72cf7a911854fcdb1fbfd90e3146122bca7f WHIRLPOOL e98d441e34d6a8fe540c7526da3418417cfc10e31c52b42d7827b151f7e3e20f8b088ee49b3ebd67ec304143593a6319c8ea42094d62315e47f210b0e52fe149 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.20 (GNU/Linux) -iQEbBAEBCAAGBQJSAi+/AAoJEEdUh39IaPFNf5kH9jGthWbd9J9Vk0ULW0RMQg/y -SIw5VptJ97AN/cpfeI1SZaNbnnLmxSEIciZ2pvwRlMOzdq4SKcCK0OUqjH4B9wu3 -6CYN8GrwOzSc/ep5+/70hDgzjxyTK8DufiTCT9jzLEBkOA2+3Cmb76Z/rw7BhkF7 -cWFtTo1lGWv3U4kB0qmMzGOZcNMsWQl4VdD3av6R1voHMV6TadeK4FrQpOfHa+ss -rTBHndkMLeImE719iLBVEa2QV30AWUb4hwAnlESZHsqLVZt6n/kWIBpYSBBpjqQE -9A0ikkPsoduAv5wu3iTWdpoJyMISsooWPICsgREQd5eW9/9ePQRqq6OEeIU6og== -=Mr2r +iQEcBAEBCAAGBQJSC6xTAAoJEEdUh39IaPFNxLgH/2b0PMMM/AeTiCTr31159Jcb +/YCQND0YY8KvoatD4uPLF252xX/NIH08Z6saUL0qij8ZFZiw6qA1UT+uFJAkwkvW +dK9DS9FKTLfCorG3jwwWOh1WKV+7qvUSIP+/tQuu2KolGr5UPruObfgMCUWwF41d +OAkVG2rRfbh1f4+ymejB19N3LwYM13OLuFTAZI6KWEaPGwjJVENRKKxDznrM3uPw +Q7cIMnVppVCQhHDF1/ImSPfq7RlaJ9YaXuuNQ83IFlWzgb0ht7QXMhDPIfyI1Gj6 +Hysb7GGfCgxSU1jRLczoh0kN4RZ3N6OCHZkDYQZOG/Oo61uy870vowCdWZNtVYA= +=CycY -----END PGP SIGNATURE----- diff --git a/sys-fs/lvm2/files/lvm2-2.02.99-fix-mda-offset-size-overflow-4g-with-lvmetad.patch b/sys-fs/lvm2/files/lvm2-2.02.99-fix-mda-offset-size-overflow-4g-with-lvmetad.patch new file mode 100644 index 000000000000..d362cf05cbe0 --- /dev/null +++ b/sys-fs/lvm2/files/lvm2-2.02.99-fix-mda-offset-size-overflow-4g-with-lvmetad.patch @@ -0,0 +1,37 @@ +http://pkgs.fedoraproject.org/cgit/lvm2.git/plain/lvm2-2_02_100-fix-mda-offset-size-overflow-4g-with-lvmetad.patch + +WHATS_NEW | 4 ++++ + lib/format_text/format-text.c | 4 ++-- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/WHATS_NEW b/WHATS_NEW +index 039ddec..f2f5ba4 100644 +--- a/WHATS_NEW ++++ b/WHATS_NEW +@@ -1,3 +1,7 @@ ++Version 2.02.100 - ++================================ ++ Fix metadata area offset/size overflow if it's >= 4g and while using lvmetad. ++ + Version 2.02.99 - 24th July 2013 + ================================ + Do not zero init 4KB of thin snapshot for non-zeroing thin pool (2.02.94). +diff --git a/lib/format_text/format-text.c b/lib/format_text/format-text.c +index b210603..950e0d5 100644 +--- a/lib/format_text/format-text.c ++++ b/lib/format_text/format-text.c +@@ -1688,12 +1688,12 @@ static int _mda_import_text_raw(struct lvmcache_info *info, const struct dm_conf + + cn = cn->child; + device = lvmcache_device(info); +- size = dm_config_find_int(cn, "size", 0); ++ size = dm_config_find_int64(cn, "size", 0); + + if (!device || !size) + return 0; + +- offset = dm_config_find_int(cn, "start", 0); ++ offset = dm_config_find_int64(cn, "start", 0); + ignore = dm_config_find_int(cn, "ignore", 0); + + lvmcache_add_mda(info, device, offset, size, ignore); diff --git a/sys-fs/lvm2/lvm2-2.02.99-r2.ebuild b/sys-fs/lvm2/lvm2-2.02.99-r2.ebuild new file mode 100644 index 000000000000..9bf3c4c4b447 --- /dev/null +++ b/sys-fs/lvm2/lvm2-2.02.99-r2.ebuild @@ -0,0 +1,254 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/lvm2-2.02.99-r2.ebuild,v 1.1 2013/08/14 16:14:29 ssuominen Exp $ + +EAPI=5 +inherit eutils multilib toolchain-funcs autotools linux-info udev systemd + +DESCRIPTION="User-land utilities for LVM2 (device-mapper) software." +HOMEPAGE="http://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 ~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 ) + udev? ( >=virtual/udev-200[static-libs?] )" +# /run is now required for locking during early boot. /var cannot be assumed to +# be available. +RDEPEND="${DEPEND_COMMON} + !<sys-apps/openrc-0.10.1 + >=sys-apps/baselayout-2.1-r1 + !!sys-fs/lvm-user + !!sys-fs/clvm + >=sys-apps/util-linux-2.16 + lvm2create_initrd? ( sys-apps/makedev ) + thin? ( sys-block/thin-provisioning-tools )" +# Upgrading to this LVM will break older cryptsetup +RDEPEND="${RDEPEND} + !<sys-fs/cryptsetup-1.1.2" +DEPEND="${DEPEND_COMMON} + virtual/pkgconfig + >=sys-devel/binutils-2.20.1-r1 + static? ( + udev? ( virtual/udev[static-libs] ) + selinux? ( sys-libs/libselinux[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 + + # Not merged upstream, should be reviewed and forwarded: + epatch \ + "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch \ + "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch \ + "${FILESDIR}"/${PN}-2.02.88-respect-cc.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.97-udev-static.patch #370217 + epatch "${FILESDIR}"/${PN}-2.02.99-selinux-static.patch #439414 + + sed -i -e 's:/usr/sbin/lvm:/sbin/lvm:' scripts/lvm2_activation_generator_systemd_red_hat.c || die #479626 + + # From upstream: + epatch "${FILESDIR}"/${PN}-2.02.99-fix-mda-offset-size-overflow-4g-with-lvmetad.patch + + # Fix calling AR directly with USE static, bug #444082, convert to patch and forward to upstream + if use static ; then + sed -i -e "s:\$(AR) rs \$@ \$(OBJECTS) lvmcmdlib.o lvm2cmd-static.o:$(tc-getAR) rs \$@ \$(OBJECTS) lvmcmdlib.o lvm2cmd-static.o:" \ + tools/Makefile.in || die + fi + + 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 + + local udevdir="${EPREFIX}/lib/udev/rules.d" + use udev && udevdir="${EPREFIX}/$(get_udevdir)/rules.d" + + econf \ + $(use_enable readline) \ + $(use_enable selinux) \ + --enable-pkgconfig \ + --with-confdir="${EPREFIX}/etc" \ + --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-dmeventd-path=/sbin/dmeventd \ + --with-default-pid-dir=/run \ + $(use_enable udev udev_rules) \ + $(use_enable udev udev_sync) \ + $(use_with udev udevdir "${udevdir}") \ + "$(systemd_with_unitdir)" \ + ${myconf} \ + CLDFLAGS="${LDFLAGS}" +} + +src_compile() { + pushd include >/dev/null + emake + popd >/dev/null + + emake AR="$(tc-getAR)" + 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 + + dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf + newinitd "${FILESDIR}"/lvm.rc-2.02.95-r2 lvm + newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.67-r2 lvm-monitoring + newconfd "${FILESDIR}"/lvm.confd-2.02.28-r2 lvm + if use clvm; then + newinitd "${FILESDIR}"/clvmd.rc-2.02.39 clvmd + newconfd "${FILESDIR}"/clvmd.confd-2.02.39 clvmd + fi + + # move shared libs to /lib(64) + if use static-libs; then + dolib.a libdm/ioctl/libdevmapper.a + dolib.a libdaemon/client/libdaemonclient.a #462908 + #gen_usr_ldscript libdevmapper.so + fi + + if use lvm2create_initrd; then + dosbin "${S}"/scripts/lvm2create_initrd/lvm2create_initrd + doman "${S}"/scripts/lvm2create_initrd/lvm2create_initrd.8 + newdoc "${S}"/scripts/lvm2create_initrd/README README.lvm2create_initrd + fi + + insinto /etc + doins "${FILESDIR}"/dmtab + + # Device mapper stuff + 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 static-libs; then + dolib.a daemons/dmeventd/libdevmapper-event.a + #gen_usr_ldscript libdevmapper-event.so + fi + + use static-libs || \ + rm -f "${D}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a + + # do not rely on /lib -> /libXX link + sed -i \ + -e "s|/lib/rcscripts/|/$(get_libdir)/rcscripts/|" \ + "${ED}"/etc/init.d/* || die +} + +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" +} |