summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
authorEric Edgar <rocket@gentoo.org>2006-02-01 00:10:01 +0000
committerEric Edgar <rocket@gentoo.org>2006-02-01 00:10:01 +0000
commit09fd02794c4cc2bcc29a3e80d1a17a63ee6a6ca1 (patch)
tree98fe4c679adac153d52b2e2c954f9062678877c0 /sys-fs
parentfixing known exploits (diff)
downloadgentoo-2-09fd02794c4cc2bcc29a3e80d1a17a63ee6a6ca1.tar.gz
gentoo-2-09fd02794c4cc2bcc29a3e80d1a17a63ee6a6ca1.tar.bz2
gentoo-2-09fd02794c4cc2bcc29a3e80d1a17a63ee6a6ca1.zip
Version bump. lvm2-2.02.01. clvm support
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/lvm2/ChangeLog8
-rw-r--r--sys-fs/lvm2/Manifest3
-rwxr-xr-xsys-fs/lvm2/files/clvmd.rc148
-rw-r--r--sys-fs/lvm2/files/digest-lvm2-2.02.011
-rw-r--r--sys-fs/lvm2/lvm2-2.02.01.ebuild84
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
+}