summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2012-01-27 17:06:14 +0000
committerMike Gilbert <floppym@gentoo.org>2012-01-27 17:06:14 +0000
commitf04b8976970106b4160468ec0553ed51164f1495 (patch)
treee082535839ab4625a897ddd99b2bd0cc86e4a828 /sys-fs
parentStable for amd64, wrt bug #400521 (diff)
downloadhistorical-f04b8976970106b4160468ec0553ed51164f1495.tar.gz
historical-f04b8976970106b4160468ec0553ed51164f1495.tar.bz2
historical-f04b8976970106b4160468ec0553ed51164f1495.zip
New package.
Package-Manager: portage-2.2.0_alpha84/cvs/Linux x86_64
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/zfs/ChangeLog10
-rw-r--r--sys-fs/zfs/files/zfs.initd98
-rw-r--r--sys-fs/zfs/metadata.xml13
-rw-r--r--sys-fs/zfs/zfs-9999.ebuild48
4 files changed, 169 insertions, 0 deletions
diff --git a/sys-fs/zfs/ChangeLog b/sys-fs/zfs/ChangeLog
new file mode 100644
index 000000000000..f8ffea886ffb
--- /dev/null
+++ b/sys-fs/zfs/ChangeLog
@@ -0,0 +1,10 @@
+# ChangeLog for sys-fs/zfs
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs/ChangeLog,v 1.1 2012/01/27 17:06:14 floppym Exp $
+
+*zfs-9999 (27 Jan 2012)
+
+ 27 Jan 2012; Mike Gilbert <floppym@gentoo.org> +files/zfs.initd,
+ +metadata.xml, +zfs-9999.ebuild:
+ New package.
+
diff --git a/sys-fs/zfs/files/zfs.initd b/sys-fs/zfs/files/zfs.initd
new file mode 100644
index 000000000000..4694108900aa
--- /dev/null
+++ b/sys-fs/zfs/files/zfs.initd
@@ -0,0 +1,98 @@
+#!/sbin/runscript
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs/files/zfs.initd,v 1.1 2012/01/27 17:06:14 floppym Exp $
+
+depend()
+{
+ before net
+ after udev
+ keyword -lxc -openvz -prefix -vserver
+}
+
+CACHEFILE=/etc/zfs/zpool.cache
+ZPOOL=/usr/sbin/zpool
+ZFS=/usr/sbin/zfs
+ZFS_MODULE=zfs
+
+checksystem() {
+ if [ -c /dev/zfs ]; then
+ einfo "ZFS modules already loaded"
+ return 0
+ else
+ einfo "Checking if ZFS modules present"
+ if [ "x$(modprobe -l $ZFS_MODULE | grep $ZFS_MODULE)" == "x" ]; then
+ eerror "$ZFS_MODULE not found. Is the ZFS package installed?"
+ return 1
+ fi
+ fi
+ einfo "Checking if zfs userspace tools present"
+ if [ ! -x $ZPOOL ]; then
+ eerror "$ZPOOL binary not found."
+ return 1
+ fi
+ if [ ! -x $ZFS ]; then
+ eerror "$ZFS binary not found."
+ return 1
+ fi
+ return 0
+}
+
+start() {
+ ebegin "Starting ZFS"
+ checksystem || return 1
+ if [ ! -c /dev/zfs ]; then
+ modprobe $ZFS_MODULE
+ rv=$?
+ if [ $rv -ne 0 ]; then
+ eerror "Failed to load the $ZFS_MODULE module, check 'dmesg|tail'."
+ eend $rv
+ return $rv
+ fi
+ fi
+
+ # Import all pools described by the cache file, and then mount
+ # all filesystem based on their properties.
+ if [ -f $CACHEFILE ]; then
+ einfo "Importing ZFS pools"
+ # as per fedora script, import can fail if all pools are already imported
+ # The check for $rv makes no sense...but someday, it will work right.
+ $ZPOOL import -c $CACHEFILE -aN 2>/dev/null || true
+ rv=$?
+ if [ $rv -ne 0 ]; then
+ eerror "Failed to import not-yet imported pools."
+ eend $rv
+ return $rv
+ fi
+ fi
+
+ einfo "Mounting ZFS filesystems"
+ $ZFS mount -a
+ rv=$?
+ if [ $rv -ne 0 ]; then
+ eerror "Failed to mount ZFS filesystems."
+ eend $rv
+ return $rv
+ fi
+
+ eend 0
+ return 0
+}
+
+stop()
+{
+ ebegin "Unmounting ZFS filesystems"
+ $ZFS umount -a
+ rv=$?
+ if [ $rv -ne 0 ]; then
+ eerror "Failed to umount ZFS filesystems."
+ fi
+
+ eend $rv
+}
+
+status()
+{
+ # show pool status and list
+ $ZPOOL status && echo && $ZPOOL list
+}
diff --git a/sys-fs/zfs/metadata.xml b/sys-fs/zfs/metadata.xml
new file mode 100644
index 000000000000..70466d54f57d
--- /dev/null
+++ b/sys-fs/zfs/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>ryao@cs.stonybrook.edu</email>
+ <name>Richard Yao</name>
+ <description>Proxy maintainer</description>
+ </maintainer>
+ <maintainer>
+ <email>floppym@gentoo.org</email>
+ <name>Mike Gilbert</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sys-fs/zfs/zfs-9999.ebuild b/sys-fs/zfs/zfs-9999.ebuild
new file mode 100644
index 000000000000..c6c41bdab46c
--- /dev/null
+++ b/sys-fs/zfs/zfs-9999.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/zfs/zfs-9999.ebuild,v 1.1 2012/01/27 17:06:14 floppym Exp $
+
+EAPI="4"
+
+inherit autotools git-2 linux-mod
+
+DESCRIPTION="Native ZFS for Linux"
+HOMEPAGE="http://zfsonlinux.org/"
+SRC_URI=""
+EGIT_REPO_URI="git://github.com/zfsonlinux/zfs.git"
+
+LICENSE="CDDL GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+DEPEND=">=sys-kernel/spl-${PV}"
+RDEPEND="${DEPEND}
+ !sys-fs/zfs-fuse"
+
+pkg_setup() {
+ CONFIG_CHECK="!PREEMPT !DEBUG_LOCK_ALLOC"
+ kernel_is ge 2 6 32 || die "Linux 2.6.32 or newer required"
+ check_extra_config
+}
+
+src_prepare() {
+ AT_M4DIR="config"
+ eautoreconf
+}
+
+src_configure() {
+ set_arch_to_kernel
+ econf \
+ --with-config=all \
+ --with-linux="${KV_DIR}" \
+ --with-linux-obj="${KV_OUT}"
+}
+
+src_compile() {
+ emake
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+}