summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuli Suominen <ssuominen@gentoo.org>2013-08-04 21:05:26 +0000
committerSamuli Suominen <ssuominen@gentoo.org>2013-08-04 21:05:26 +0000
commit099c2ff5fd21b5bc3d9a5fcb3b077d931cf2e2a3 (patch)
tree81cacf086a1d137b97dde4aa3f39cbaf484e7ede /sys-fs/lvm2
parentLinux patch 3.10.5 (diff)
downloadhistorical-099c2ff5fd21b5bc3d9a5fcb3b077d931cf2e2a3.tar.gz
historical-099c2ff5fd21b5bc3d9a5fcb3b077d931cf2e2a3.tar.bz2
historical-099c2ff5fd21b5bc3d9a5fcb3b077d931cf2e2a3.zip
Create USE="lvm2create_initrd" and pull in sys-apps/makedev when required wrt #401933 by Scott Alfter. The correct path to the lvm command is /sbin instead of /usr/sbin wrt #479626 by Alexander Tsoy. Correct /run directory of dmeventd wrt #479632 by Alexander Tsoy.
Package-Manager: portage-2.2.0_alpha191/cvs/Linux x86_64 Manifest-Sign-Key: 0x4868F14D
Diffstat (limited to 'sys-fs/lvm2')
-rw-r--r--sys-fs/lvm2/ChangeLog11
-rw-r--r--sys-fs/lvm2/Manifest19
-rw-r--r--sys-fs/lvm2/lvm2-2.02.99-r1.ebuild244
-rw-r--r--sys-fs/lvm2/metadata.xml1
4 files changed, 265 insertions, 10 deletions
diff --git a/sys-fs/lvm2/ChangeLog b/sys-fs/lvm2/ChangeLog
index 39e1c8590315..b3f895a78a30 100644
--- a/sys-fs/lvm2/ChangeLog
+++ b/sys-fs/lvm2/ChangeLog
@@ -1,6 +1,15 @@
# 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.310 2013/08/02 15:53:33 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/ChangeLog,v 1.311 2013/08/04 21:05:20 ssuominen Exp $
+
+*lvm2-2.02.99-r1 (04 Aug 2013)
+
+ 04 Aug 2013; Samuli Suominen <ssuominen@gentoo.org> +lvm2-2.02.99-r1.ebuild,
+ metadata.xml:
+ Create USE="lvm2create_initrd" and pull in sys-apps/makedev when required wrt
+ #401933 by Scott Alfter. The correct path to the lvm command is /sbin instead
+ of /usr/sbin wrt #479626 by Alexander Tsoy. Correct /run directory of
+ dmeventd wrt #479632 by Alexander Tsoy.
02 Aug 2013; Samuli Suominen <ssuominen@gentoo.org> lvm2-2.02.99.ebuild:
Revert last modification as useless wrt #479520#c6. Thanks to Michał Górny.
diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest
index 7bee8defe116..7f7ec183c6c7 100644
--- a/sys-fs/lvm2/Manifest
+++ b/sys-fs/lvm2/Manifest
@@ -29,17 +29,18 @@ DIST LVM2.2.02.98.tgz 1227919 SHA256 71030a58fef7e00d82ca4144334548e46aad24551a3
DIST LVM2.2.02.99.tgz 1317810 SHA256 493c9ad85bada036418671072355b2fc57fc30eb5a63fd14a7dfe8ed28dca040 SHA512 665c8be867b44a258e37e12f2202352dfe0d4b7a5018e041ef01ce53d59b88dd96195943f12bd6915ebadbc605340de138bb2268527fd830d35deb4d43ab561b WHIRLPOOL 13fbb82cada1b8c08c881070ce5400517e44b287402ff1e5637ba4b684b4af22a3c7197a0a004d4a43f3584ae257307bb3734e9f3152733368e39a1b7f8c9d89
EBUILD lvm2-2.02.97-r1.ebuild 8932 SHA256 bc76dc7a6ae4f5e68dd46fa1f7002f9535615e115c3ce1f61f4479d7ed65ab84 SHA512 0a941741226b611481311d9750470c8ad908e6424a2ddfddd27fa169ada93b5c65b83ff9f02e6fa46364b15a1524ffeea7f26fdf21732e9afa8f42dacb59d037 WHIRLPOOL 48834bdc4578c5c93514deef439474eb31ae7838d4cf364fa3c6eddaed84700035004a869197a15a334eedbb8503300b5e7a0520f32daa4aec7545f1c908d72d
EBUILD lvm2-2.02.98.ebuild 8946 SHA256 126b8aaef4006df816869a7cbc739e40184e87cbab674289d07d062c593e2189 SHA512 8bbf0b45b7c577b413d2727be70f6c3a82a980445a070d18a41fee775907477bdd73807add0c5866dc637473cb4adfcd113d24164fe51d363bb3884904ec68fe WHIRLPOOL fca5932ea49bffecc95937bb9a12fb0d0052319b46532020bf48bff21352bf7efa03f766f3d58bd6e6312c7357725c19c7fd1fb11d3930dcdadc65941fcc51e9
+EBUILD lvm2-2.02.99-r1.ebuild 8047 SHA256 a32ea59c14c625e83811819c23fd71531f1f9ff57a68f42a5f38cf6a16394e52 SHA512 9810f2669f61eae2ae62aef5f1dd9fb9a9ad8dd259a9fe064dc8f28a365adafeab4e37701dc7c87f1ae8975b8c7baa986beef4e2b0f1dc98b955efa394ce1301 WHIRLPOOL 462eb143ab9c38fb73cba16341d96c52937912afcfd380885594a1aa9e81d18b392c91835969e91c10ebe623ce4cca4846b2fa45f684605d609bf82b204da64e
EBUILD lvm2-2.02.99.ebuild 7803 SHA256 521bf9c0f623b2a429906910d4ff8ca1b318839ea16b900f560a977edcdc03b8 SHA512 268bbf64345eab5b536ac5f9891306a53531e4aefa13c3054363c543b5047931aee8df7fc141a484f3368a1be4a1861554171d5062997b582e60ecf06910ac31 WHIRLPOOL a549096a3caabab3d67e08df8cedc5db0aa0c00add780c08f0d4b342bd8b66f47805dc4f616709f1eeb772e3c0cd583716449afca43b09fb3afdafc26d49c473
-MISC ChangeLog 58480 SHA256 9ca606eb1364722fe1cb66dd8f57e21e470ee50440340c964f3483ac02aa32ce SHA512 3fa99a3ec4130b97dd55f2d222bdb3d44c2590b1d389b742258a944640956d8f27f542f550d3e26255920409b56bbc4de11ae349850db2f56961467d5745fd33 WHIRLPOOL 5e965a4b0fec41b1f967740dea3688381528f69ebe5cbd6114de838a1c7f6ea152c1a55eed5ba909b564fdacc1a4005920a4be5329426421a7f8e7a27a185953
-MISC metadata.xml 841 SHA256 e0c7edd0a374f4a3045211caa91bc41bd058832af7ae77d317a22d3b6c61a782 SHA512 2f64b983d7ed208346485754cb6a4113d4afe0c10aed80d8193a109e53dafb687ca164faace3d732b59eb5839f647d94906f4eb2ff75372db96fa18d50f9c4ae WHIRLPOOL c785300acb11338cc4d2f21dd1d4006aca40c864cd777dd15d347e76dca1cae11258243e9b03da6720e6e1672995cd38de73fb970473d9fd750afabc07f88e01
+MISC ChangeLog 58882 SHA256 94c7c640b02aea613de0a9b82df736c6e755c3563f75a56caa73117b3e15a562 SHA512 01c637911b0316fd7ad99644957866cbdf957407bbf017e56eb11f88aa785551e3d9e36f6a112c2a7a86d8c58b915e3c7dc5a10127efe0c6f811f860f8926288 WHIRLPOOL 16868bc0a228b722a2dfbf6cf10634e589bcae328359a255d001c633e74e750bb7308adc3e6b4bbc501f868dfcd5acba2f30ee6af090b1fc6a5175c44a2faa96
+MISC metadata.xml 984 SHA256 8f554d97062552d62ce2d81c8e4536b3e97539a497dd8cddda3eeab24b4ef73a SHA512 9c0a10af6149817269590cd28e7dc7eb84539184d41123b12bfada3857f87d813199cfbecd7c8219ce1b6a70f4ee72cf7a911854fcdb1fbfd90e3146122bca7f WHIRLPOOL e98d441e34d6a8fe540c7526da3418417cfc10e31c52b42d7827b151f7e3e20f8b088ee49b3ebd67ec304143593a6319c8ea42094d62315e47f210b0e52fe149
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (GNU/Linux)
-iQEcBAEBCAAGBQJR+9WhAAoJEEdUh39IaPFNwP8H/1A9OJJFe9268xDLfWpzaPH2
-dMG7jbh2mNsg0DkBlS5zxeh+Zb3sepPErc+xIcIMF429dO/pWZ0MmI3vPW+vafDe
-mshF8SX8FoJNkTo10AizTSEvbW0/0y0pmyEBWLvzUQVZiHznvy8XOhPlg/W9b6Ua
-KB6dDmFRyt6+9QNSWL+K5beWpdW835ited1watdGmZCa0MtqU19y/1QO+4q53xoI
-QqvgAwqOmH53xUBjPTGTANNoYuBXBXJTpRcM5KvTnmMyx8W2JkNPr80cUgOuH82D
-KdL5Qwgw3bxdiem/wv1u/GJCW17uMacY4GwAIBZFqQmibY7M/3WSEbVbYxgGdW0=
-=CNFg
+iQEcBAEBCAAGBQJR/sGuAAoJEEdUh39IaPFNUBYH/jmtfhIqMXn7zc2VZ/d+sPRv
+qVcJd6RJghLTd51dkzNFrD2gPR9CIeLd6KtilRPJU5brd0rWFZ+crN4LgxmP3akD
+K445KKZ91WIUQUaLW6sI1T55U3ocsaLgSsvL9kNlmBj/xoruUNRk5bO/oayAf43T
+SxsuHMAJoF+1AzcqixR6iwQyHpZfNtvi4gFtdezp7mXz9E5bjlB07hxWNkiQL8+4
+RpEkdJIvgqVJvtmFmJHr+GbYyMU0XH7IfcqcdcmzkGBw9KF8WLuSO4neyatv+YHe
+CNSaNj7DGYs+vZKcS5YiKA4eQwQbjFctXNdtnUVcwLvVzwCb65S8969F6jJsNCM=
+=Mzco
-----END PGP SIGNATURE-----
diff --git a/sys-fs/lvm2/lvm2-2.02.99-r1.ebuild b/sys-fs/lvm2/lvm2-2.02.99-r1.ebuild
new file mode 100644
index 000000000000..d999b150bb13
--- /dev/null
+++ b/sys-fs/lvm2/lvm2-2.02.99-r1.ebuild
@@ -0,0 +1,244 @@
+# 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-r1.ebuild,v 1.1 2013/08/04 21:05:20 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-200[static-libs] ) )"
+
+S=${WORKDIR}/${PN/lvm/LVM}.${PV}
+
+#QA_MULTILIB_PATHS="usr/lib/systemd/system-generators/.*" #479520
+
+pkg_setup() {
+ local CONFIG_CHECK="~SYSVIPC"
+ use udev && local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
+ 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
+
+ sed -i -e 's:/usr/sbin/lvm:/sbin/lvm:' scripts/lvm2_activation_generator_systemd_red_hat.c || die #479626
+
+ # 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
+ einfo "Building static LVM, for usage inside genkernel"
+ buildmode="internal"
+ # This only causes the .static versions to become available
+ # We explicitly provide the .static versions so that they can be included in
+ # initramfs environments.
+ myconf="${myconf} --enable-static_link"
+ else
+ ewarn "Building shared LVM, it will not work inside genkernel!"
+ 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
+
+ #insinto /etc/udev/rules.d/
+ #newins "${FILESDIR}"/64-device-mapper.rules-2.02.56-r3 64-device-mapper.rules
+
+ # 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"
+}
diff --git a/sys-fs/lvm2/metadata.xml b/sys-fs/lvm2/metadata.xml
index 186b303b720d..e0e26a07970c 100644
--- a/sys-fs/lvm2/metadata.xml
+++ b/sys-fs/lvm2/metadata.xml
@@ -18,6 +18,7 @@
<flag name='clvm'>Allow users to build clustered lvm2</flag>
<flag name='cman'>Cman support for clustered lvm</flag>
<flag name='lvm1'>Allow users to build lvm2 with lvm1 support</flag>
+ <flag name='lvm2create_initrd'>Install lvm2create_initrd script and pull in <pkg>sys-apps/makedev</pkg> for the /sbin/MAKEDEV command</flag>
<flag name='thin'>Support for thin volumes</flag>
</use>
<upstream>