diff options
author | Eric Edgar <rocket@gentoo.org> | 2006-02-01 00:10:01 +0000 |
---|---|---|
committer | Eric Edgar <rocket@gentoo.org> | 2006-02-01 00:10:01 +0000 |
commit | 09fd02794c4cc2bcc29a3e80d1a17a63ee6a6ca1 (patch) | |
tree | 98fe4c679adac153d52b2e2c954f9062678877c0 | |
parent | fixing known exploits (diff) | |
download | gentoo-2-09fd02794c4cc2bcc29a3e80d1a17a63ee6a6ca1.tar.gz gentoo-2-09fd02794c4cc2bcc29a3e80d1a17a63ee6a6ca1.tar.bz2 gentoo-2-09fd02794c4cc2bcc29a3e80d1a17a63ee6a6ca1.zip |
Version bump. lvm2-2.02.01. clvm support
-rw-r--r-- | sys-fs/lvm2/ChangeLog | 8 | ||||
-rw-r--r-- | sys-fs/lvm2/Manifest | 3 | ||||
-rwxr-xr-x | sys-fs/lvm2/files/clvmd.rc | 148 | ||||
-rw-r--r-- | sys-fs/lvm2/files/digest-lvm2-2.02.01 | 1 | ||||
-rw-r--r-- | sys-fs/lvm2/lvm2-2.02.01.ebuild | 84 |
5 files changed, 243 insertions, 1 deletions
diff --git a/sys-fs/lvm2/ChangeLog b/sys-fs/lvm2/ChangeLog index 6376296519c2..2d6b510f5d85 100644 --- a/sys-fs/lvm2/ChangeLog +++ b/sys-fs/lvm2/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-fs/lvm2 # Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/ChangeLog,v 1.49 2006/01/31 23:27:59 rocket Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/ChangeLog,v 1.50 2006/02/01 00:10:01 rocket Exp $ + +*lvm2-2.02.01 (01 Feb 2006) + + 01 Feb 2006; Eric Edgar <rocket@gentoo.org> +files/clvmd.rc, + +lvm2-2.02.01.ebuild: + Version bump. lvm2-2.02.01. clvm support *lvm2-2.01.14-r1 (31 Jan 2006) diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest index c0162cb6b02f..94e4d4e7dffd 100644 --- a/sys-fs/lvm2/Manifest +++ b/sys-fs/lvm2/Manifest @@ -1,8 +1,10 @@ MD5 cf73b9b5ec12720506c42588f70ad144 ChangeLog 8314 +MD5 bf0fb4d67afee82ab80c68968c79009c files/clvmd.rc 3668 MD5 540e8a304be1860275577f326c7bd0f0 files/digest-lvm2-2.01.09 61 MD5 540e8a304be1860275577f326c7bd0f0 files/digest-lvm2-2.01.09-r1 61 MD5 d1e295db9aa6771cdc6506033bc98f69 files/digest-lvm2-2.01.13 61 MD5 bd5702de4e53595969129c176cb028dc files/digest-lvm2-2.01.14-r1 61 +MD5 6feb5524aca57cd709e859dc99df98d8 files/digest-lvm2-2.02.01 61 MD5 3216475436df8fbd33aa3ef4e2889ef8 files/lvm2-2.01.14.patch 1034 MD5 bb8fbbf10fb41b8538aba9cafb65094b files/lvm2-start.sh 990 MD5 00655aa59deac8796636fc54ede221ed files/lvm2-stop.sh 1940 @@ -10,4 +12,5 @@ MD5 03b3cb1f6d49f4b6fe96c6ad3a9c47f0 lvm2-2.01.09-r1.ebuild 1399 MD5 97aaa43ef70e84140f8d1b940eb73025 lvm2-2.01.09.ebuild 1277 MD5 bfbb6af0f144e530589562ca3b79c61a lvm2-2.01.13.ebuild 1402 MD5 a14e31292b2dc04c8800086d7abce3e3 lvm2-2.01.14-r1.ebuild 1540 +MD5 f7259267079c4f28dca066ade47389b2 lvm2-2.02.01.ebuild 2433 MD5 9934e11f9ed27c97b024100380fde4d9 metadata.xml 250 diff --git a/sys-fs/lvm2/files/clvmd.rc b/sys-fs/lvm2/files/clvmd.rc new file mode 100755 index 000000000000..08bea5c91e38 --- /dev/null +++ b/sys-fs/lvm2/files/clvmd.rc @@ -0,0 +1,148 @@ +#!/sbin/runscript +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/files/clvmd.rc,v 1.1 2006/02/01 00:10:01 rocket Exp $ + +depend() { + use dns logger + use net + need cluster-manager cluster-locking-manager fenced +} + +exefile=/sbin/clvmd + +load_modules() { + local module modules + modules=$1 + + for module in ${modules}; do + ebegin "Loading ${module} kernel module" + modprobe ${module} + eend $? "Failed to load ${module} kernel module" + done +} + +unload_modules() { + local module modules + modules=$1 + + for module in ${modules}; do + ebegin "Unloading ${module} kernel module" + modprobe -r ${module} + eend $? "Failed to unload ${module} kernel module" + done +} + +umount_gfs_filesystems() { + local sig retry + local remaining="$(awk '$3 == "gfs" { print $2 }' /proc/mounts | sort -r)" + + if [ -n "${remaining}" ] + then + sig= + retry=3 + while [ -n "${remaining}" -a "${retry}" -gt 0 ] + do + if [ "${retry}" -lt 3 ] + then + ebegin "Unmounting GFS filesystems (retry)" + umount ${remaining} &>/dev/null + eend $? "Failed to unmount GFS filesystems this retry" + else + ebegin "Unmounting GFS filesystems" + umount ${remaining} &>/dev/null + eend $? "Failed to unmount GFS filesystems" + fi + remaining="$(awk '$3 == "gfs" { print $2 }' /proc/mounts | sort -r)" + [ -z "${remaining}" ] && break + /bin/fuser -k -m ${sig} ${remaining} &>/dev/null + sleep 5 + retry=$((${retry} -1)) + sig=-9 + done + fi +} + + + +start() { + + local module=$(awk '$1 == "dm_mod" { print $1 }' /proc/modules) + if [ -z "${module}" ]; then + load_modules dm-mod + sleep 1s + fi + + ebegin "Scanning LVM volumes" + /sbin/vgscan &>/dev/null + eend $? + + if [ "$?" -eq 0 ] && [ -x /sbin/vgchange ] && [ -f /etc/lvmtab -o -d /etc/lvm ] + then + ebegin "Setting up the Logical Volume Manager" + /sbin/vgchange -aly >/dev/null + eend $? "Failed to setup the LVM" + + if [ "$?" -eq 0 ]; then + ebegin "Starting clvmd" + start-stop-daemon --start --quiet --exec ${exefile} + eend $? + fi + fi + +} + +stop() { + + # umount GFS filesystems + umount_gfs_filesystems + + einfo "Shutting down the Logical Volume Manager" + + LOGICAL_VOLUMES=`lvdisplay |grep "LV Name"|awk '{print $3}'|sort|xargs echo` + VOLUME_GROUPS=`vgdisplay |grep "VG Name"|awk '{print $3}'|sort|xargs echo` + for x in ${LOGICAL_VOLUMES} + do + LV_IS_ACTIVE=`lvdisplay ${x}|grep "# open"|awk '{print $3}'` + if [ "${LV_IS_ACTIVE}" = 0 ] + then + ebegin " Shutting Down logical volume: ${x} " + lvchange -an --ignorelockingfailure -P ${x} >/dev/null + eend $? + fi + done + + for x in ${VOLUME_GROUPS} + do + VG_HAS_ACTIVE_LV=`vgdisplay ${x}|grep "Open LV"|awk '{print $3}'|xargs echo` + if [ "${VG_HAS_ACTIVE_LV}" = 0 ] + then + ebegin " Shutting Down volume group: ${x} " + vgchange -an --ignorelockingfailure -P ${x} >/dev/null + eend + fi + done + + for x in ${LOGICAL_VOLUMES} + do + LV_IS_ACTIVE=`lvdisplay ${x}|grep "# open"|awk '{print $3}'` + if [ "${LV_IS_ACTIVE}" = 1 ] + then + + ROOT_DEVICE=`mount|grep " / "|awk '{print $1}'` + if [ ! ${ROOT_DEVICE} = ${x} ] + then + ewarn " Unable to shutdown: ${x} " + fi + fi + done + einfo "Finished Shutting down the Logical Volume Manager" + + ebegin "Stopping clvmd" + start-stop-daemon --stop --quiet --exec ${exefile} + eend $? + + if [ "$?" -eq 0 ]; then + unload_modules dm-mod + fi +} diff --git a/sys-fs/lvm2/files/digest-lvm2-2.02.01 b/sys-fs/lvm2/files/digest-lvm2-2.02.01 new file mode 100644 index 000000000000..6f126659fd45 --- /dev/null +++ b/sys-fs/lvm2/files/digest-lvm2-2.02.01 @@ -0,0 +1 @@ +MD5 5514514bd7992fa0597406ca2f80d0e5 LVM2.2.02.01.tgz 459543 diff --git a/sys-fs/lvm2/lvm2-2.02.01.ebuild b/sys-fs/lvm2/lvm2-2.02.01.ebuild new file mode 100644 index 000000000000..3c94ad7c10d2 --- /dev/null +++ b/sys-fs/lvm2/lvm2-2.02.01.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/lvm2/lvm2-2.02.01.ebuild,v 1.1 2006/02/01 00:10:01 rocket Exp $ + +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" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86" +IUSE="readline nolvmstatic clvm nocman nolvm1 nosnapshots nomirrors selinux" + +DEPEND=">=sys-fs/device-mapper-1.02 + clvm? ( >=sys-cluster/dlm-1.01.00 + !nocman? ( >=sys-cluster/cman-1.01.00 ) )" + +RDEPEND="${DEPEND} + !sys-fs/lvm-user + !sys-fs/clvm" + +S="${WORKDIR}/${PN/lvm/LVM}.${PV}" + +src_compile() { + # Static compile of lvm2 so that the install described in the handbook works + # http://www.gentoo.org/doc/en/lvm2.xml + # fixes http://bugs.gentoo.org/show_bug.cgi?id=84463 + local myconf + + if ! use nolvmstatic + then + myconf="${myconf} --enable-static_link" + use nosnapshots || myconf="${myconf} --with-snapshots=internal" + use nomirrors || myconf="${myconf} --with-mirrors=internal" + if use nolvm1 + then + myconf="${myconf} --with-lvm1=none" + else + myconf="${myconf} --with-lvm1=internal" + fi + else + use nosnapshots || myconf="${myconf} --with-snapshots=shared" + use nomirrors || myconf="${myconf} --with-mirrors=shared" + if use nolvm1 + then + myconf="${myconf} --with-lvm1=none" + else + myconf="${myconf} --with-lvm1=shared" + fi + fi + + # disable O_DIRECT support on hppa, breaks pv detection (#99532) + use hppa && myconf="${myconf} --disable-o_direct" + + if use clvm; then + if use nolvmstatic + then + myconf="${myconf} --with-cluster=shared" + else + myconf="${myconf} --with-cluster=internal" + fi + if use nocman; then + myconf="${myconf} --with-clvmd=gulm" + else + myconf="${myconf} --with-clvmd=cman" + fi + fi + + econf $(use_enable readline) $(use_enable selinux) ${myconf} || die + emake || die "compile problem" +} + +src_install() { + einstall sbindir="${D}/sbin" staticdir="${D}/sbin" confdir="${D}/etc/lvm" + mv -f "${D}/sbin/lvm.static" "${D}/sbin/lvm" + + dodoc COPYING* INSTALL README VERSION WHATS_NEW doc/*.{conf,c,txt} + insinto /lib/rcscripts/addons + newins ${FILESDIR}/lvm2-start.sh lvm-start.sh + newins ${FILESDIR}/lvm2-stop.sh lvm-stop.sh + if use clvm; then + newinitd ${FILESDIR}/clvmd.rc clvmd || die + fi +} |