diff options
author | 2015-08-08 13:49:04 -0700 | |
---|---|---|
committer | 2015-08-08 17:38:18 -0700 | |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /sys-fs/ocfs2-tools | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sys-fs/ocfs2-tools')
-rw-r--r-- | sys-fs/ocfs2-tools/Manifest | 1 | ||||
-rw-r--r-- | sys-fs/ocfs2-tools/files/ocfs2-tools-1.6.4-asneeded.patch | 78 | ||||
-rw-r--r-- | sys-fs/ocfs2-tools/files/ocfs2-tools-recent-kernels.patch | 19 | ||||
-rw-r--r-- | sys-fs/ocfs2-tools/files/ocfs2.confd | 38 | ||||
-rw-r--r-- | sys-fs/ocfs2-tools/files/ocfs2.initd | 125 | ||||
-rw-r--r-- | sys-fs/ocfs2-tools/metadata.xml | 8 | ||||
-rw-r--r-- | sys-fs/ocfs2-tools/ocfs2-tools-1.8.2-r1.ebuild | 79 |
7 files changed, 348 insertions, 0 deletions
diff --git a/sys-fs/ocfs2-tools/Manifest b/sys-fs/ocfs2-tools/Manifest new file mode 100644 index 000000000000..4a5adffc3082 --- /dev/null +++ b/sys-fs/ocfs2-tools/Manifest @@ -0,0 +1 @@ +DIST ocfs2-tools-1.8.2.tar.xz 963132 SHA256 3af5e43695bf780531208b5b058741320c1f03fe54568390bf74cba5066f315b SHA512 b1354730a1e51117497b56e0a1fd79667d608cdf2ccdfa9eb7355f9f40684e64c0787722fa8e6046b35dd00c2ff7a822719b47d059f23253f0bab64e181875ee WHIRLPOOL 88621b43622635dbc4e02b3f5a0c9ff2a411e0481459abc13850f33456fad5ebdc23d5bd3f3fe541ab83cb404fe49bd7814f9f6199dc7f258a8432a12302174a diff --git a/sys-fs/ocfs2-tools/files/ocfs2-tools-1.6.4-asneeded.patch b/sys-fs/ocfs2-tools/files/ocfs2-tools-1.6.4-asneeded.patch new file mode 100644 index 000000000000..c382522f14ed --- /dev/null +++ b/sys-fs/ocfs2-tools/files/ocfs2-tools-1.6.4-asneeded.patch @@ -0,0 +1,78 @@ +--- configure.in.orig 2011-01-19 20:43:35.000000000 +0100 ++++ configure.in 2012-02-21 11:14:51.047974999 +0100 +@@ -265,7 +265,6 @@ + cpg_package=openais + fi + TRY_PATH="$AIS_TRY_PATH" +- AC_MSG_CHECKING([for cpg_initialize in -lcpg]) + while test "x$TRY_PATH" != "x"; do + TRY="`echo $TRY_PATH | cut -f1 -d:`" + NEW_TRY_PATH="`echo $TRY_PATH | cut -f2- -d:`" +@@ -281,9 +280,8 @@ + # TRY="$TRY" + + saved_LDFLAGS="$LDFLAGS" +- LDFLAGS="$LDFLAGS $TRY -lcpg" +- AC_LINK_IFELSE([AC_LANG_CALL([], [cpg_initialize])], +- cpg_found=yes) ++ LDFLAGS="$LDFLAGS $TRY" ++ AC_SEARCH_LIBS([cpg_initialize], [cpg], [cpg_found=yes], [], []) + LDFLAGS="$saved_LDFLAGS" + + if test "x$cpg_found" = "xyes"; then +@@ -292,10 +290,7 @@ + fi + done + fi +-if test "x$cpg_found" = "xyes"; then +- AC_MSG_RESULT(yes) +-else +- AC_MSG_RESULT(no) ++if test "x$cpg_found" = "xno"; then + AC_MSG_WARN([libcpg not found, ocfs2_controld will not be built]) + fi + AC_SUBST(CPG_LDFLAGS) +@@ -309,7 +304,6 @@ + if test "x$ckpt_found" = "xyes"; then + ckpt_found= + TRY_PATH="$AIS_TRY_PATH" +- AC_MSG_CHECKING([for saCkptInitialize in -lSaCkpt]) + while test "x$TRY_PATH" != "x"; do + TRY="`echo $TRY_PATH | cut -f1 -d:`" + NEW_TRY_PATH="`echo $TRY_PATH | cut -f2- -d:`" +@@ -325,9 +319,8 @@ + # TRY="$TRY" + + saved_LDFLAGS="$LDFLAGS" +- LDFLAGS="$LDFLAGS $TRY -lSaCkpt" +- AC_LINK_IFELSE([AC_LANG_CALL([], [saCkptInitialize])], +- ckpt_found=yes) ++ LDFLAGS="$LDFLAGS $TRY" ++ AC_SEARCH_LIBS([saCkptInitialize], [SaCkpt], [ckpt_found=yes], [], []) + LDFLAGS="$saved_LDFLAGS" + + if test "x$ckpt_found" = "xyes"; then +@@ -336,10 +329,7 @@ + fi + done + fi +-if test "x$ckpt_found" = "xyes"; then +- AC_MSG_RESULT(yes) +-else +- AC_MSG_RESULT(no) ++if test "x$ckpt_found" = "xno"; then + AC_MSG_WARN([libSaCkpt not found, ocfs2_controld will not be built]) + fi + AC_SUBST(AIS_LDFLAGS) + +--- ocfs2_controld/Makefile.orig 2012-02-21 11:49:36.248974932 +0100 ++++ ocfs2_controld/Makefile 2012-02-21 11:49:47.943974980 +0100 +@@ -14,7 +14,7 @@ + ifneq ($(BUILD_PCMK_SUPPORT),) + SBIN_PROGRAMS += ocfs2_controld.pcmk + # Some pacemaker headers which pacemaker.c includes want this. +-PCMK_INCLUDES = -I/usr/include/pacemaker -I/usr/include/heartbeat/ $(GLIB_CFLAGS) ++PCMK_INCLUDES = -I/usr/include/pacemaker -I/usr/include/heartbeat/ `pkg-config --cflags libxml-2.0` $(GLIB_CFLAGS) + endif + + INCLUDES = -I$(TOPDIR)/include -I. $(PCMK_INCLUDES) diff --git a/sys-fs/ocfs2-tools/files/ocfs2-tools-recent-kernels.patch b/sys-fs/ocfs2-tools/files/ocfs2-tools-recent-kernels.patch new file mode 100644 index 000000000000..24bc40dcd09f --- /dev/null +++ b/sys-fs/ocfs2-tools/files/ocfs2-tools-recent-kernels.patch @@ -0,0 +1,19 @@ +# git diff include/ocfs2-kernel/ocfs2_fs.h +diff --git a/include/ocfs2-kernel/ocfs2_fs.h b/include/ocfs2-kernel/ocfs2_fs.h +index 3eafb07..7bb954a 100644 +--- a/include/ocfs2-kernel/ocfs2_fs.h ++++ b/include/ocfs2-kernel/ocfs2_fs.h +@@ -1681,11 +1681,11 @@ static inline int ocfs2_sprintf_system_inode_name(char *buf, int len, + return chars; + } + +-static inline void ocfs2_set_de_type(struct ocfs2_dir_entry *de, ++/*static inline void ocfs2_set_de_type(struct ocfs2_dir_entry *de, + umode_t mode) + { + de->file_type = ocfs2_type_by_mode[(mode & S_IFMT)>>S_SHIFT]; +-} ++}*/ + + static inline int ocfs2_gd_is_discontig(struct ocfs2_group_desc *gd) + {
\ No newline at end of file diff --git a/sys-fs/ocfs2-tools/files/ocfs2.confd b/sys-fs/ocfs2-tools/files/ocfs2.confd new file mode 100644 index 000000000000..b9538cbea33e --- /dev/null +++ b/sys-fs/ocfs2-tools/files/ocfs2.confd @@ -0,0 +1,38 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# Put your cluster names here, separated by space, ie. +# OCFS2_CLUSTER="cluster1 admincluster cluster2" +OCFS2_CLUSTER="home" + +# Some heartbeat tweaks to prevent self-fencing quite so much during heavy load. +# http://oss.oracle.com/projects/ocfs2/dist/documentation/ocfs2_faq.html + +# How long to wait before a node is considered dead from lack of network activity. +OCFS2_IDLE_TIMEOUT_MS="30000" +# How often we should attempt to send heartbeats. +OCFS2_KEEPALIVE_DELAY_MS="2000" +OCFS2_RECONNECT_DELAY_MS="2000" +# How often we should attempt to send heartbeats. +# How many interations before a node is considered dead from lack of IO activity. +# (dead_threshold - 1) * 2s +OCFS2_DEAD_THRESHOLD="61" + +# Default: "-fy" (force check on double-unmounted boot). I beleave this is best. +# Native way is "-y", but once I have twice reboot/powerOFF with bad result... +# Affected only fstab. +OCFS2_FSCK="-fy" + +# http://oss.oracle.com/projects/ocfs2-tools/news/article_8.html +# starting from 1.4.3, fsck.ocfs2 "aggressively cache the metadata blocks" +# this is useful on lots of free memory, but I have heavy slowdown on x86_64 +# with 1G of RAM. +# "yes" will "swapoff -a" & "swapon -a" around fsck to avoid caching over swap +OCFS2_FSCK_SWAPOFF="yes" + +# Signal to kill processes on stop/umount on busy device (empty to not kill) +#OCFS2_UMOUNT_KILL="KILL" + +# "yes" to force stop +#OCFS2_FORCE_STOP="no" diff --git a/sys-fs/ocfs2-tools/files/ocfs2.initd b/sys-fs/ocfs2-tools/files/ocfs2.initd new file mode 100644 index 000000000000..e5c091ee04c7 --- /dev/null +++ b/sys-fs/ocfs2-tools/files/ocfs2.initd @@ -0,0 +1,125 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +depend() { + need net localmount + before netmount +} + +check_modules_config() { + local MODULES=$1 + local CONFIGS=$2 + local MODULE + local retval=0 + + for MODULE in ${MODULES}; do + if ! ls -1 /sys/module | egrep -q "^${MODULE}$"; then + retval=1 + fi + done + if [ ${retval} -eq 1 ] && [ -e /proc/config.gz ]; then + retval=0 + for MODULE in ${CONFIGS}; do + if ! gzip -dc /proc/config.gz | egrep -q "^CONFIG_${MODULE}=y$"; then + retval=1 + fi + done + fi + return ${retval} +} + +check_modules() { + check_modules_config "ocfs2_dlmfs ocfs2 ocfs2_dlm ocfs2_nodemanager" "OCFS2_FS OCFS2_FS_O2CB" && check_modules_config configfs CONFIGFS_FS && return 0 + if ! egrep -q '\s*ocfs2\s*$' /proc/filesystems || ! egrep -q '\s*ocfs2_dlmfs\s*$' /proc/filesystems; then + ewarn "One or more required modules are not loaded." + ewarn "Make sure you have " + ewarn " - placed ocfs, dlmfs and configfs into /etc/modules.autoload.d/kernel-2.6 or built directly into the kernel." + ewarn "For a (in)complete documentation, read /usr/share/doc/ocfs-<version>/INSTALL.GENTOO.bz2" + fi + return 1 +} + +check_pseudofs() { + local retval=0 + local HASMOUNT="mount -l -t" + if [ -z "`${HASMOUNT} configfs`" ] ; then + retval=1 + fi + if [ -z "`${HASMOUNT} ocfs2_dlmfs`" ] ; then + retval=1 + fi + + if [ ${retval} -eq 1 ]; then + ewarn "One or more pseudo-filesystes are not mounted." + ewarn "Make sure you have following lines in your /etc/fstab:" + ewarn "none /sys/kernel/config configfs defaults 0 0" + ewarn "none /sys/kernel/dlm ocfs2_dlmfs defaults 0 0" + fi + return ${retval} +} + + + +start() { + check_modules || return $? + check_pseudofs || return $? + + einfo "Starting OCFS2 cluster" + for cluster in ${OCFS2_CLUSTER}; do + ebegin " - ${cluster}" + /sbin/o2cb_ctl -H -n ${cluster} -t cluster -a online=yes >/dev/null 2>&1 + eend $? + + # Some heartbeat tweaks to prevent self-fencing quite so much during heavy load. + # http://oss.oracle.com/projects/ocfs2/dist/documentation/ocfs2_faq.html + + # How long to wait before a node is considered dead from lack of network activity. + echo $OCFS2_IDLE_TIMEOUT_MS > /sys/kernel/config/cluster/${cluster}/idle_timeout_ms + # How often we should attempt to send heartbeats. + echo $OCFS2_KEEPALIVE_DELAY_MS > /sys/kernel/config/cluster/${cluster}/keepalive_delay_ms + echo $OCFS2_RECONNECT_DELAY_MS > /sys/kernel/config/cluster/${cluster}/reconnect_delay_ms + # How many interations before a node is considered dead from lack of IO activity. + # (dead_threshold - 1) * 2s + echo $OCFS2_DEAD_THRESHOLD > /sys/kernel/config/cluster/${cluster}/heartbeat/dead_threshold + done + sleep 2 +} + +stop() { + # Shamelesly stolen from netmount + local ret + ebegin "Unmounting OCFS2 filesystems" + [ -z "$(umount -art ocfs2 2>&1)" ] + ret=$? + eend ${ret} "Failed to simply unmount filesystems" + [ ${ret} -eq 0 ] && return 0 + + declare -a siglist=( "TERM" "KILL" "KILL" ) + local retry=0 + local remaining="go" + + while [ -n "${remaining}" -a ${retry} -lt 3 ] + do + remaining="$(awk '$3 ~ /'ocfs2'/ { if ($2 != "/") print $2 }' /proc/mounts | sort -r)" + IFS=$'\n' + set -- ${remaining//\\040/ } + unset IFS + [ -z "${remaining}" ] && break + + ebegin $'\t'"Unmounting ocfs2 filesystems (retry #$((retry+1)))" + /bin/fuser -k -${siglist[$((retry++))]} -m "$@" &>/dev/null + sleep 5 + umount "$@" &>/dev/null + eend $? $'\t'"Failed to unmount filesystems" + done + + + einfo "Stopping OCFS2 cluster" + for cluster in ${OCFS_CLUSTERS}; do + ebegin " - ${cluster}" + /sbin/o2cb_ctl -H -n ${cluster} -t cluster -a online=no >/dev/null 2>&1 + eend $? + done +} diff --git a/sys-fs/ocfs2-tools/metadata.xml b/sys-fs/ocfs2-tools/metadata.xml new file mode 100644 index 000000000000..8c121b2e4919 --- /dev/null +++ b/sys-fs/ocfs2-tools/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>cluster</herd> +<use> + <flag name='external'>Enable external locking</flag> +</use> +</pkgmetadata> diff --git a/sys-fs/ocfs2-tools/ocfs2-tools-1.8.2-r1.ebuild b/sys-fs/ocfs2-tools/ocfs2-tools-1.8.2-r1.ebuild new file mode 100644 index 000000000000..05c673da5155 --- /dev/null +++ b/sys-fs/ocfs2-tools/ocfs2-tools-1.8.2-r1.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 +PYTHON_DEPEND="gtk? 2" +inherit autotools eutils python + +DESCRIPTION="Support programs for the Oracle Cluster Filesystem 2" +HOMEPAGE="http://oss.oracle.com/projects/ocfs2-tools/" +SRC_URI="http://dev.gentoo.org/~alexxy/distfiles/${P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug external gtk" + +RDEPEND=" + dev-libs/libaio + sys-apps/util-linux + sys-cluster/libcman + external? ( + sys-cluster/libdlm + sys-cluster/pacemaker[-heartbeat] + ) + sys-fs/e2fsprogs + sys-libs/ncurses + sys-libs/readline + sys-process/psmisc + gtk? ( + dev-python/pygtk + ) +" +# 99% of deps this thing has is automagic +# specialy cluster things corosync/pacemaker +DEPEND="${RDEPEND}" + +DOCS=( + "${S}/documentation/samples/cluster.conf" + "${S}/documentation/users_guide.txt" +) + +MAKEOPTS+=" -j1" + +PATCHES=( + "${FILESDIR}/${PN}-1.6.4-asneeded.patch" + "${FILESDIR}/${PN}-recent-kernels.patch" + ) + +pkg_setup() { + python_set_active_version 2 + python_pkg_setup +} + +src_prepare() { + sed -e 's/ncurses, tgetstr/ncurses, printw/g' -i configure.in || die + # gentoo uses /sys/kernel/dlm as dlmfs mountpoint + sed -e 's:"/dlm/":"/sys/kernel/dlm":g' \ + -i libo2dlm/o2dlm_test.c \ + -i libocfs2/dlm.c || die "sed failed" + epatch ${PATCHES[@]} + rm -f aclocal.m4 + AT_M4DIR=. eautoreconf +} + +src_configure() { + econf \ + $(use_enable debug debug) \ + $(use_enable debug debugexe) \ + $(use_enable gtk ocfs2console) \ + --enable-dynamic-fsck \ + --enable-dynamic-ctl +} + +src_install() { + default + newinitd "${FILESDIR}/ocfs2.initd" ocfs2 + newconfd "${FILESDIR}/ocfs2.confd" ocfs2 +} |