| # Copyright 1999-2015 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI=5 |
| |
| inherit eutils |
| |
| DESCRIPTION="Cluster synchronization tool" |
| HOMEPAGE="http://oss.linbit.com/csync2/" |
| SRC_URI="http://oss.linbit.com/${PN}/${P}.tar.gz" |
| |
| LICENSE="GPL-2" |
| KEYWORDS="amd64 x86" |
| |
| IUSE="mysql postgres sqlite ssl xinetd" |
| |
| RDEPEND=">=net-libs/librsync-0.9.5 |
| mysql? ( virtual/mysql ) |
| postgres? ( dev-db/postgresql:= ) |
| sqlite? ( >=dev-db/sqlite-3.0 ) |
| ssl? ( >=net-libs/gnutls-2.7.3 ) |
| xinetd? ( sys-apps/xinetd )" |
| DEPEND="${RDEPEND} |
| virtual/pkgconfig" |
| |
| REQUIRED_USE="|| ( mysql postgres sqlite )" |
| SLOT="0" |
| |
| src_configure() { |
| econf \ |
| --docdir=/usr/share/doc/${P} \ |
| --localstatedir=/var \ |
| --sysconfdir=/etc/csync2 \ |
| $(use_enable mysql) \ |
| $(use_enable postgres) \ |
| $(use_enable sqlite sqlite3) \ |
| $(use_enable ssl gnutls) |
| } |
| |
| src_install() { |
| # Parallel install fails, bug #561382 |
| emake -j1 DESTDIR="${D}" install |
| |
| if use xinetd ; then |
| insinto /etc/xinetd.d |
| newins "${FILESDIR}"/${PN}.xinetd ${PN} |
| fi |
| |
| keepdir /var/lib/csync2 |
| |
| newinitd "${FILESDIR}"/${PN}.initd ${PN} |
| } |
| |
| pkg_postinst() { |
| if use xinetd; then |
| echo |
| einfo "After you setup your conf file, edit the xinetd" |
| einfo "entry in /etc/xinetd.d/${PN} to enable, then" |
| einfo "start xinetd: /etc/init.d/xinetd start" |
| fi |
| echo |
| einfo "To add ${PN} to your services file" |
| if use ssl; then |
| einfo "and to generate the SSL certificates," |
| fi |
| einfo "just run this command after you install:" |
| echo |
| einfo "emerge --config =${PF}" |
| echo |
| einfo "Now you can find csync2.cfg under /etc/${PN}" |
| einfo "Please move you old config to the right location" |
| echo |
| einfo "To start csync2 as a standalone daemon, simply run:" |
| einfo "/etc/init.d/csync2 start" |
| echo |
| } |
| |
| pkg_config() { |
| einfo "Updating ${ROOT}/etc/services" |
| { grep -v ^${PN} "${ROOT}"/etc/services; |
| echo "csync2 30865/tcp" |
| } > "${ROOT}"/etc/services.new |
| mv -f "${ROOT}"/etc/services.new "${ROOT}"/etc/services |
| |
| if use ssl; then |
| if [ ! -f "${ROOT}"/etc/${PN}/csync2_ssl_key.pem ]; then |
| einfo "Creating default certificate in ${ROOT}/etc/${PN}" |
| |
| openssl genrsa -out "${ROOT}"/etc/${PN}/csync2_ssl_key.pem 1024 &> /dev/null |
| |
| yes '' | \ |
| openssl req -new \ |
| -key "${ROOT}"/etc/${PN}/csync2_ssl_key.pem \ |
| -out "${ROOT}"/etc/${PN}/csync2_ssl_cert.csr \ |
| &> "${ROOT}"/dev/null |
| |
| openssl x509 -req -days 600 \ |
| -in "${ROOT}"/etc/${PN}/csync2_ssl_cert.csr \ |
| -signkey "${ROOT}"/etc/${PN}/csync2_ssl_key.pem \ |
| -out "${ROOT}"/etc/${PN}/csync2_ssl_cert.pem \ |
| &> "${ROOT}"/dev/null |
| |
| rm "${ROOT}"/etc/${PN}/csync2_ssl_cert.csr |
| chmod 400 "${ROOT}"/etc/${PN}/csync2_ssl_key.pem "${ROOT}"/etc/${PN}/csync2_ssl_cert.pem |
| fi |
| fi |
| } |