| # Copyright 1999-2011 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI=4 |
| |
| 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-3)" |
| |
| DESCRIPTION="Cluster Manager" |
| HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage" |
| SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz" |
| |
| LICENSE="GPL-2" |
| SLOT="0" |
| KEYWORDS="~amd64 ~hppa ~x86" |
| IUSE="dbus ldap" |
| |
| RDEPEND="dev-libs/libxml2 |
| dev-libs/libxslt |
| dbus? ( sys-apps/dbus ) |
| ldap? ( net-nds/openldap ) |
| sys-cluster/corosync |
| sys-cluster/openais |
| ~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 |
| |
| 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" |
| |
| if ! use ldap ; then |
| sed -i -e 's|ldap||' config/plugins/Makefile || die "sed failed" |
| fi |
| 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 |
| |
| # we have to create it in the init.d script anyway |
| rmdir "${D}"/var/run/{cluster,} |
| |
| keepdir /var/{lib,log}/cluster |
| keepdir /etc/cluster/cman-notify.d |
| |
| 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 "${D}/usr/share/man/man3/libdlm.3" |
| |
| newinitd "${FILESDIR}/${PN}.initd" "${PN}" |
| newconfd "${FILESDIR}/${PN}.confd" "${PN}" |
| } |