summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexys Jacob <ultrabug@gentoo.org>2011-07-05 07:45:36 +0000
committerAlexys Jacob <ultrabug@gentoo.org>2011-07-05 07:45:36 +0000
commitf7b02063ddf72d4fdee66826988a6833403aa8be (patch)
treeb1d9e73163574f7cd3e418ac473f650f906acdf0 /sys-cluster/moosefs
parentVersion bump wrt #373481. (diff)
downloadgentoo-2-f7b02063ddf72d4fdee66826988a6833403aa8be.tar.gz
gentoo-2-f7b02063ddf72d4fdee66826988a6833403aa8be.tar.bz2
gentoo-2-f7b02063ddf72d4fdee66826988a6833403aa8be.zip
New ebuild sys-cluster/moosefs, related to bug #338004.
(Portage version: 2.1.10.3/cvs/Linux x86_64)
Diffstat (limited to 'sys-cluster/moosefs')
-rw-r--r--sys-cluster/moosefs/ChangeLog10
-rw-r--r--sys-cluster/moosefs/files/mfs.confd3
-rw-r--r--sys-cluster/moosefs/files/mfs.initd43
-rw-r--r--sys-cluster/moosefs/metadata.xml13
-rw-r--r--sys-cluster/moosefs/moosefs-1.6.20.ebuild57
5 files changed, 126 insertions, 0 deletions
diff --git a/sys-cluster/moosefs/ChangeLog b/sys-cluster/moosefs/ChangeLog
new file mode 100644
index 000000000000..c48142bf7472
--- /dev/null
+++ b/sys-cluster/moosefs/ChangeLog
@@ -0,0 +1,10 @@
+# ChangeLog for sys-cluster/moosefs
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/moosefs/ChangeLog,v 1.1 2011/07/05 07:45:36 ultrabug Exp $
+
+*moosefs-1.6.20 (05 Jul 2011)
+
+ 05 Jul 2011; Ultrabug <ultrabug@gentoo.org> +moosefs-1.6.20.ebuild,
+ +files/mfs.confd, +files/mfs.initd, +metadata.xml:
+ Initial import. Thanks to Mike Kazantsev for his initial work on bug #338004.
+
diff --git a/sys-cluster/moosefs/files/mfs.confd b/sys-cluster/moosefs/files/mfs.confd
new file mode 100644
index 000000000000..0dd704fb55e2
--- /dev/null
+++ b/sys-cluster/moosefs/files/mfs.confd
@@ -0,0 +1,3 @@
+# Which mooseFS roles should we start ?
+# Possible values: mfsmetalogger mfschunkserver mfsmaster
+#ROLES=""
diff --git a/sys-cluster/moosefs/files/mfs.initd b/sys-cluster/moosefs/files/mfs.initd
new file mode 100644
index 000000000000..ccdf1df0a2d3
--- /dev/null
+++ b/sys-cluster/moosefs/files/mfs.initd
@@ -0,0 +1,43 @@
+#!/sbin/runscript
+
+depend() {
+ need net
+}
+
+chkconfig() {
+ [ -z "${ROLES}" ] && { eerror "No role defined !"; return 1;}
+ for ROLE in ${ROLES}; do
+ if [ ! -f /etc/mfs/${ROLE}.cfg ]; then
+ eerror "Missing configuration file for role ${ROLE} !"
+ return 1
+ fi
+ done
+ return 0
+}
+
+start_roles() {
+ eindent
+ for ROLE in ${ROLES}; do
+ einfo "${ROLE}"
+ "${ROLE}" start 2>&1 | logger -s -p daemon.info -t mfs
+ done
+ eoutdent
+ return 0
+}
+
+start() {
+ ebegin "Starting mfs node"
+ chkconfig && start_roles
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping mfs node"
+ eindent
+ for ROLE in ${ROLES}; do
+ einfo "${ROLE}"
+ "${ROLE}" stop 2>&1 | logger -s -p daemon.info -t mfs
+ done
+ eoutdent
+ eend 0
+}
diff --git a/sys-cluster/moosefs/metadata.xml b/sys-cluster/moosefs/metadata.xml
new file mode 100644
index 000000000000..a30ead46985e
--- /dev/null
+++ b/sys-cluster/moosefs/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>cluster</herd>
+ <longdescription>MooseFS is a fault tolerant, network distributed file system.
+ It spreads data over several physical servers which are visible to the user as one resource.
+ For standard file operations MooseFS acts as other Unix-alike file systems
+ </longdescription>
+ <use>
+ <flag name="cgi">Install CGI server and scripts.</flag>
+ <flag name="fuse">Install the mfsmount utility.</flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-cluster/moosefs/moosefs-1.6.20.ebuild b/sys-cluster/moosefs/moosefs-1.6.20.ebuild
new file mode 100644
index 000000000000..1d8d7b920d31
--- /dev/null
+++ b/sys-cluster/moosefs/moosefs-1.6.20.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/moosefs/moosefs-1.6.20.ebuild,v 1.1 2011/07/05 07:45:36 ultrabug Exp $
+
+EAPI=4
+
+inherit eutils
+
+MY_P="mfs-${PV}"
+S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="A filesystem for highly reliable petabyte storage"
+HOMEPAGE="http://www.moosefs.org/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cgi +fuse static-libs"
+
+RDEPEND="
+ cgi? ( dev-lang/python )
+ fuse? ( >=sys-fs/fuse-2.6 )"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ enewgroup mfs
+ enewuser mfs -1 -1 -1 mfs
+}
+
+src_prepare() {
+ # rename dist config files
+ sed -i 's@\.cfg\.dist@\.cfg@g' mfsdata/Makefile.in || die
+}
+
+src_configure() {
+ local myopts=""
+ use fuse || myopts="--disable-mfsmount"
+ econf \
+ --sysconfdir=/etc/mfs \
+ --with-default-user=mfs \
+ --with-default-group=mfs \
+ $(use_enable cgi mfscgi) \
+ $(use_enable cgi mfscgiserv) \
+ $(use_enable static-libs static) \
+ ${myopts}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ newinitd "${FILESDIR}/mfs.initd" mfs
+ newconfd "${FILESDIR}/mfs.confd" mfs
+
+ chown -R mfs:mfs "${D}/var/lib/mfs" || die
+ chmod 750 "${D}/var/lib/mfs" || die
+}