commit: eee1e847ddf8298110f47a63abd0466841033a17 Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> AuthorDate: Sat Mar 27 17:35:57 2021 +0000 Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com> CommitDate: Sat Mar 27 17:35:57 2021 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=eee1e847
sys-cluster/pcs: python deps Package-Manager: Portage-3.0.17, Repoman-3.0.2 Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com> sys-cluster/pcs/pcs-0.10.8-r2.ebuild | 113 +++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) diff --git a/sys-cluster/pcs/pcs-0.10.8-r2.ebuild b/sys-cluster/pcs/pcs-0.10.8-r2.ebuild new file mode 100644 index 000000000..830a07632 --- /dev/null +++ b/sys-cluster/pcs/pcs-0.10.8-r2.ebuild @@ -0,0 +1,113 @@ +# Copyright 2019-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7..9} ) +DISTUTILS_USE_SETUPTOOLS=rdepend +USE_RUBY="ruby25 ruby26" +inherit python-single-r1 ruby-ng systemd + +DESCRIPTION="Pacemaker/Corosync Configuration System" +HOMEPAGE="https://github.com/ClusterLabs/pcs" +SRC_URI="https://github.com/ClusterLabs/pcs/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64" +IUSE="systemd" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +DEPEND=" + dev-libs/libffi + media-libs/fontconfig +" +RDEPEND=" + ${DEPEND} + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/distro[${PYTHON_USEDEP}] + dev-python/dacite[${PYTHON_USEDEP}] + dev-python/lxml[${PYTHON_USEDEP}] + dev-python/pycurl[${PYTHON_USEDEP}] + dev-python/pyopenssl[${PYTHON_USEDEP}] + dev-python/pyparsing[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + >=www-servers/tornado-6.0[${PYTHON_USEDEP}] + <www-servers/tornado-7.0[${PYTHON_USEDEP}] + ') + dev-libs/openssl + >=sys-cluster/corosync-3.0 + >=sys-cluster/pacemaker-2.0 + sys-libs/pam + sys-process/psmisc +" +PATCHES=( + "${FILESDIR}/remove-ruby-bundle-path.patch" + "${FILESDIR}/openrc-${PV}.patch" + "${FILESDIR}/pcsd-daemon.service.patch" +) +S="${WORKDIR}/all/${P}" + +ruby_add_rdepend " + dev-ruby/backports + dev-ruby/bundler + dev-ruby/ethon + dev-ruby/highline + dev-ruby/json + dev-ruby/multi_json + dev-ruby/open4 + dev-ruby/rack + dev-ruby/rack-protection + dev-ruby/rack-test + dev-ruby/rubygems + dev-ruby/sinatra + dev-ruby/thor + dev-ruby/tilt + www-servers/thin +" + +src_compile() { + return +} + +src_install() { + python-single-r1_pkg_setup + # pre-create directory that is needed by 'make install' + dodir "/usr/lib/pcs" + # install files using 'make install' + + local makeopts=( + SYSTEMCTL_OVERRIDE=$(use systemd) + DESTDIR="${D}" + CONF_DIR="/etc/default/" + PREFIX="${EPREFIX}/usr/" + BUILD_GEMS=false + BUNDLE_INSTALL_PYAGENTX=false + BUNDLE_TO_INSTALL=false + ) + emake install "${makeopts[@]}" + + # mark log directories to be kept + keepdir /var/log/pcsd + keepdir /var/lib/pcsd + + # symlink the /usr/lib/pcs/pcs to /usr/sbin/pcs for pcsd + dosym ../../sbin/pcs "${EPREFIX}/usr/lib/pcs/pcs" + + # use Debian style systemd unit (with config in /etc/default/pcsd) + if use systemd ; then + systemd_newunit "${S}/pcsd/pcsd.service.debian" "pcsd.service" + systemd_newunit "${S}/pcsd/pcsd-ruby.service" "pcsd-daemon.service" + fi + # custom service file for openRC + newinitd "${FILESDIR}/pcsd.initd" pcsd + newinitd "${FILESDIR}/pcsd-daemon.initd" pcsd-daemon + + # move config files to right places - we use debian-style /etc/default + cp -a "${S}/pcs/settings.py.debian" "${D}/usr/lib/pcs/settings.py" || die + cp -a "${S}/pcsd/settings.rb.debian" "${D}/usr/lib/pcsd/settings.rb" || die + + python_optimize +}