summaryrefslogtreecommitdiff
blob: 68450c73ab312edf4c878e6a6f98e6bd7695d974 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=3

inherit linux-info multilib toolchain-funcs versionator

CLUSTER_RELEASE="${PV}"
MY_P="cluster-${CLUSTER_RELEASE}"

MAJ_PV="$(get_major_version)"
MIN_PV="$(get_version_component_range 2).$(get_version_component_range 3)"

DESCRIPTION="Cluster Manager"
HOMEPAGE="http://sources.redhat.com/cluster/wiki/"
SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="dbus"

RDEPEND="dev-libs/libxml2
	sys-cluster/corosync
	~sys-cluster/libccs-${PV}
	~sys-cluster/libfence-${PV}
	~sys-cluster/libcman-${PV}
	~sys-cluster/libdlm-${PV}
	~sys-cluster/liblogthread-${PV}
	!sys-cluster/dlm
"
DEPEND="${RDEPEND}
    >=sys-kernel/linux-headers-2.6.24"

S="${WORKDIR}/${MY_P}"

# TODO:
# * Gentoo'ise the init script
# * fix magic dep on openldap

src_configure() {
	# cluster libs have their own separate packages
	sed -i -e 's|lib||' "${S}/cman/Makefile" || die
	sed -i -e 's|liblogthread||' "${S}/common/Makefile" || die
	sed -i -e 's|libs||' "${S}/config/Makefile" || die
	sed -i -e 's|libdlm libdlmcontrol||' "${S}/dlm/Makefile" || die
	sed -i -e 's|libfence libfenced||' "${S}/fence/Makefile" || die
	sed -i -e 's|fence/libfenced||' "${S}/Makefile" || die

	sed -i \
		-e 's|\(^all:.*\)depends |\1|' \
		config/tools/ccs_tool/Makefile \
		fence/fence{d,_node,_tool}/Makefile \
		cman/{cman_tool,daemon,tests,qdisk,notifyd}/Makefile \
		dlm/{tool,tests/usertest}/Makefile \
		|| die "sed failed"

	local myopts=""
	use dbus || myopts="--disable_dbus"
	./configure \
		--cc=$(tc-getCC) \
		--cflags="-Wall" \
		--libdir=/usr/$(get_libdir) \
		--disable_kernel_check \
		--kernel_src=${KERNEL_DIR} \
		--somajor="$MAJ_PV" \
		--sominor="$MIN_PV" \
		--without_rgmanager \
		--without_bindings \
		${myopts} \
		|| die "configure problem"
}

src_install() {
	emake DESTDIR="${D}" install || die "emake failed"

	keepdir /var/{lib,log,run}/cluster

	rm -rf "${D}/usr/share/doc"
	dodoc \
		doc/{usage.txt,cman_notify_template.sh} \
		config/plugins/ldap/*.ldif
	dohtml doc/*.html

	# lib-specific man pages are provided by the corresponding packages
	rm -rf "${D}/usr/share/man/man3/libdlm.3"
}