commit: 8c4cb3a14c9af037b8c4d9663d733c776932cb9a Author: Andrea Postiglione <andrea.postiglione <AT> gmail <DOT> com> AuthorDate: Sat Mar 20 11:40:36 2021 +0000 Commit: Andrea Postiglione <andrea.postiglione <AT> gmail <DOT> com> CommitDate: Sat Mar 20 11:40:36 2021 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=8c4cb3a1
sys-cluster/pcs-0.10.8 version bump Signed-off-by: Andrea Postiglione <andrea.postiglione <AT> gmail.com> sys-cluster/pcs/Manifest | 1 + sys-cluster/pcs/files/openrc-0.10.8.patch | 437 ++++++++++++++++++++++++++++++ sys-cluster/pcs/pcs-0.10.8.ebuild | 112 ++++++++ 3 files changed, 550 insertions(+) diff --git a/sys-cluster/pcs/Manifest b/sys-cluster/pcs/Manifest index ecae6dae..79ce84ca 100644 --- a/sys-cluster/pcs/Manifest +++ b/sys-cluster/pcs/Manifest @@ -1 +1,2 @@ DIST pcs-0.10.7.tar.gz 1818215 BLAKE2B 345ba114f92c1f555a948b1f6eafb532056d3196c9f0cf3007d7d27d8a8957c886f3a5ab2519e0922908c3d11ed9dc54632376d5556f6b1dc5dfb035bcfda4bf SHA512 c76a11fa162258ee311dcceca50674d7638396880596a826a711d944aab421ed06a6c4eb41f9dc997c01b72bce73c98c4f7be3fcd8fafb8ae16902f6a1e0c521 +DIST pcs-0.10.8.tar.gz 1852902 BLAKE2B ef023ca27c2dbd1d765e1d68f67a55c79f57b1dbc7d571b8f21e1c30f8a8510b1148459a0e683c682fb969c7635ef726c8e227b995d1a35dfd27894f40bdaa26 SHA512 8b9ba62279431e481d062e804d24480d2a274d2f4897a82149df6116ff3df2394d97a3ee77a6dee4c563d915bab0142124a8942524fcc4e894912086e865353c diff --git a/sys-cluster/pcs/files/openrc-0.10.8.patch b/sys-cluster/pcs/files/openrc-0.10.8.patch new file mode 100644 index 00000000..ad73352f --- /dev/null +++ b/sys-cluster/pcs/files/openrc-0.10.8.patch @@ -0,0 +1,437 @@ +diff -uPNr pcs-0.10.7/pcs/lib/external.py pcs-0.10.7-openrc/pcs/lib/external.py +--- pcs-0.10.7/pcs/lib/external.py 2020-12-15 17:02:49.055879169 +0100 ++++ pcs-0.10.7-openrc/pcs/lib/external.py 2020-12-15 21:13:41.878627331 +0100 +@@ -13,8 +13,8 @@ + from pcs.lib.errors import LibraryError + + +-_chkconfig = settings.chkconfig_binary +-_service = settings.service_binary ++_rc_config = settings.rc_config_binary ++_rc_service = settings.rc_service_binary + _systemctl = settings.systemctl_binary + + +@@ -192,7 +192,7 @@ + [_systemctl, "disable", _get_service_name(service, instance)] + ) + else: +- stdout, stderr, retval = runner.run([_chkconfig, service, "off"]) ++ stdout, stderr, retval = runner.run([_rc_config, 'delete', service, "default"]) + if retval != 0: + raise DisableServiceError( + service, join_multilines([stderr, stdout]), instance +@@ -214,7 +214,7 @@ + [_systemctl, "enable", _get_service_name(service, instance)] + ) + else: +- stdout, stderr, retval = runner.run([_chkconfig, service, "on"]) ++ stdout, stderr, retval = runner.run([_rc_config, 'add', service, "default"]) + if retval != 0: + raise EnableServiceError( + service, join_multilines([stderr, stdout]), instance +@@ -234,7 +234,7 @@ + [_systemctl, "start", _get_service_name(service, instance)] + ) + else: +- stdout, stderr, retval = runner.run([_service, service, "start"]) ++ stdout, stderr, retval = runner.run([_rc_service, service, "start"]) + if retval != 0: + raise StartServiceError( + service, join_multilines([stderr, stdout]), instance +@@ -254,7 +254,7 @@ + [_systemctl, "stop", _get_service_name(service, instance)] + ) + else: +- stdout, stderr, retval = runner.run([_service, service, "stop"]) ++ stdout, stderr, retval = runner.run([_rc_service, service, "stop"]) + if retval != 0: + raise StopServiceError( + service, join_multilines([stderr, stdout]), instance +@@ -295,8 +295,12 @@ + [_systemctl, "is-enabled", _get_service_name(service, instance)] + ) + else: +- dummy_stdout, dummy_stderr, retval = runner.run([_chkconfig, service]) +- ++ stdout, dummy_stderr, dummy_retval = runner.run([_rc_config, 'list', 'default']) ++ retval = 1 ++ for line in stdout.splitlines(): ++ line = line.split(' ')[0] ++ if service == line: ++ retval = 0 + return retval == 0 + + +@@ -316,7 +320,7 @@ + ) + else: + dummy_stdout, dummy_stderr, retval = runner.run( +- [_service, service, "status"] ++ [_rc_service, service, "status"] + ) + + return retval == 0 +@@ -344,8 +348,7 @@ + """ + if is_systemctl(): + return [] +- +- stdout, dummy_stderr, return_code = runner.run([_chkconfig]) ++ stdout, dummy_stderr, return_code = runner.run([_rc_config, "list"]) + if return_code != 0: + return [] + +diff -uPNr pcs-0.10.7/pcs/settings_default.py pcs-0.10.7-openrc/pcs/settings_default.py +--- pcs-0.10.7/pcs/settings_default.py 2020-12-15 17:02:49.056879154 +0100 ++++ pcs-0.10.7-openrc/pcs/settings_default.py 2020-12-16 21:59:28.541361537 +0100 +@@ -1,8 +1,8 @@ + import os.path + + systemctl_binary = "/bin/systemctl" +-chkconfig_binary = "/sbin/chkconfig" +-service_binary = "/sbin/service" ++rc_config_binary = "/usr/bin/rc-config" ++rc_service_binary = "/sbin/rc-service" + pacemaker_binaries = "/usr/sbin/" + crm_resource_binary = os.path.join(pacemaker_binaries, "crm_resource") + corosync_binaries = "/usr/sbin/" +@@ -41,7 +41,7 @@ + crm_mon_schema = "/usr/share/pacemaker/crm_mon.rng" + agent_metadata_schema = "/usr/share/resource-agents/ra-api-1.dtd" + pcsd_var_location = "/var/lib/pcsd/" +-pcsd_ruby_socket = "/run/pcsd-ruby.socket" ++pcsd_ruby_socket = "/run/pcsd-daemon.socket" + pcsd_cert_location = os.path.join(pcsd_var_location, "pcsd.crt") + pcsd_key_location = os.path.join(pcsd_var_location, "pcsd.key") + pcsd_known_hosts_location = os.path.join(pcsd_var_location, "known-hosts") +@@ -59,7 +59,7 @@ + pacemaker_gname = "haclient" + sbd_binary = "/usr/sbin/sbd" + sbd_watchdog_default = "/dev/watchdog" +-sbd_config = "/etc/sysconfig/sbd" ++sbd_config = "/etc/default/sbd" + # this limit is also mentioned in docs, change there as well + sbd_max_device_num = 3 + # message types are also mentioned in docs, change there as well +diff -uPNr pcs-0.10.7/pcs/settings.py.debian pcs-0.10.7-openrc/pcs/settings.py.debian +--- pcs-0.10.7/pcs/settings.py.debian 2020-12-15 17:02:49.055879169 +0100 ++++ pcs-0.10.7-openrc/pcs/settings.py.debian 2020-12-16 09:36:10.493104892 +0100 +@@ -1,10 +1,10 @@ + from pcs.settings_default import * +-service_binary = "/usr/sbin/service" ++rc-service_binary = "/sbin/rc-service" + corosync_log_file = "/var/log/corosync/corosync.log" +-pacemaker_schedulerd = "/usr/lib/pacemaker/pacemaker-schedulerd" +-pacemaker_controld = "/usr/lib/pacemaker/pacemaker-controld" +-pacemaker_based = "/usr/lib/pacemaker/pacemaker-based" +-pacemaker_fenced = "/usr/lib/pacemaker/pacemaker-fenced" ++pacemaker_schedulerd = "/usr/libexec/pacemaker/pacemaker-schedulerd" ++pacemaker_controld = "/usr/libexec/pacemaker/pacemaker-controld" ++pacemaker_based = "/usr/libexec/pacemaker/pacemaker-based" ++pacemaker_fenced = "/usr/libexec/pacemaker/pacemaker-fenced" + pcsd_exec_location = "/usr/share/pcsd/" + pcsd_gem_path = None + pcsd_config = "/etc/default/pcsd" +diff -uPNr pcs-0.10.7/pcs/utils.py pcs-0.10.7-openrc/pcs/utils.py +--- pcs-0.10.7/pcs/utils.py 2020-12-15 17:02:49.056879154 +0100 ++++ pcs-0.10.7-openrc/pcs/utils.py 2020-12-16 21:57:09.487686936 +0100 +@@ -2187,7 +2187,7 @@ + ) + else: + stdout, stderr, retval = cmd_runner().run( +- [settings.service_binary, service, "start"] ++ [settings.rc_service_binary, service, "start"] + ) + return join_multilines([stderr, stdout]), retval + +@@ -2202,7 +2202,7 @@ + ) + else: + stdout, stderr, retval = cmd_runner().run( +- [settings.service_binary, service, "stop"] ++ [settings.rc_service_binary, service, "stop"] + ) + return join_multilines([stderr, stdout]), retval + +diff -uPNr pcs-0.10.7/pcsd/pcs.rb pcs-0.10.7-openrc/pcsd/pcs.rb +--- pcs-0.10.7/pcsd/pcs.rb 2020-12-15 17:02:49.063879050 +0100 ++++ pcs-0.10.7-openrc/pcsd/pcs.rb 2020-12-16 21:54:52.337982100 +0100 +@@ -1708,11 +1708,22 @@ + def is_service_enabled?(service) + if ISSYSTEMCTL + cmd = ['systemctl', 'is-enabled', "#{service}.service"] ++ _, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd) ++ return (retcode == 0) + else +- cmd = ['chkconfig', service] ++ cmd = ['rc-config', 'list', 'default'] ++ stdout, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd) ++ if retcode != 0 ++ return false ++ end ++ stdout.each { |line| ++ line = line.split(' ') ++ if line[0] == service ++ return true ++ end ++ } ++ return false + end +- _, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd) +- return (retcode == 0) + end + + def is_service_running?(service) +@@ -1722,7 +1733,7 @@ + # encoding/decoding errors. We are not interested in the lines anyway. + cmd = ['systemctl', 'status', '--lines=0', "#{service}.service"] + else +- cmd = ['service', service, 'status'] ++ cmd = ['rc-service', service, 'status'] + end + _, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd) + return (retcode == 0) +@@ -1775,7 +1786,8 @@ + class ServiceInstalledCheckerChkconfig < ServiceInstalledChecker + protected + def run_command +- return run_cmd(PCSAuth.getSuperuserAuth(), 'chkconfig') ++ cmd = ['rc-config', 'list'] ++ return run_cmd(PCSAuth.getSuperuserAuth(), *cmd) + end + + def contains_line_service?(line, service) +@@ -1802,7 +1814,7 @@ + cmd = ['systemctl', 'enable', "#{service}.service"] + else + # fails when the service is not installed +- cmd = ['chkconfig', service, 'on'] ++ cmd = ['rc-config', 'add', service, 'default'] + end + _, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd) + return (retcode == 0) +@@ -1817,7 +1829,7 @@ + if ISSYSTEMCTL + cmd = ['systemctl', 'disable', "#{service}.service"] + else +- cmd = ['chkconfig', service, 'off'] ++ cmd = ['rc-config', 'delete', service, 'default'] + end + _, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd) + return (retcode == 0) +@@ -1827,7 +1839,7 @@ + if ISSYSTEMCTL + cmd = ['systemctl', 'start', "#{service}.service"] + else +- cmd = ['service', service, 'start'] ++ cmd = ['rc-service', service, 'start'] + end + _, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd) + return (retcode == 0) +@@ -1840,7 +1852,7 @@ + if ISSYSTEMCTL + cmd = ['systemctl', 'stop', "#{service}.service"] + else +- cmd = ['service', service, 'stop'] ++ cmd = ['rc-service', service, 'stop'] + end + _, _, retcode = run_cmd(PCSAuth.getSuperuserAuth(), *cmd) + return (retcode == 0) +diff -uPNr pcs-0.10.7/pcsd/settings.rb pcs-0.10.7-openrc/pcsd/settings.rb +--- pcs-0.10.7/pcsd/settings.rb 2020-12-15 17:02:49.065879020 +0100 ++++ pcs-0.10.7-openrc/pcsd/settings.rb 2020-12-16 09:26:46.782426991 +0100 +@@ -3,7 +3,7 @@ + PCSD_EXEC_LOCATION = '/usr/lib/pcsd/' + PCSD_VAR_LOCATION = '/var/lib/pcsd/' + PCSD_DEFAULT_PORT = 2224 +-PCSD_RUBY_SOCKET = '/run/pcsd-ruby.socket' ++PCSD_RUBY_SOCKET = '/run/pcsd-daemon.socket' + + CRT_FILE = PCSD_VAR_LOCATION + 'pcsd.crt' + KEY_FILE = PCSD_VAR_LOCATION + 'pcsd.key' +diff -uPNr pcs-0.10.7/pcsd/settings.rb.debian pcs-0.10.7-openrc/pcsd/settings.rb.debian +--- pcs-0.10.7/pcsd/settings.rb.debian 2020-12-15 17:02:49.065879020 +0100 ++++ pcs-0.10.7-openrc/pcsd/settings.rb.debian 2020-12-16 18:52:24.289921676 +0100 +@@ -3,7 +3,7 @@ + PCSD_EXEC_LOCATION = '/usr/share/pcsd/' + PCSD_VAR_LOCATION = '/var/lib/pcsd/' + PCSD_DEFAULT_PORT = 2224 +-PCSD_RUBY_SOCKET = '/run/pcsd-ruby.socket' ++PCSD_RUBY_SOCKET = '/run/pcsd-daemon.socket' + + CRT_FILE = PCSD_VAR_LOCATION + 'pcsd.crt' + KEY_FILE = PCSD_VAR_LOCATION + 'pcsd.key' +diff -uPNr pcs-0.10.7/pcs_test/tier0/lib/test_external.py pcs-0.10.7-openrc/pcs_test/tier0/lib/test_external.py +--- pcs-0.10.7/pcs_test/tier0/lib/test_external.py 2020-12-15 17:02:49.061879080 +0100 ++++ pcs-0.10.7-openrc/pcs_test/tier0/lib/test_external.py 2020-12-16 21:52:40.531155033 +0100 +@@ -16,8 +16,8 @@ + import pcs.lib.external as lib + + +-_chkconfig = settings.chkconfig_binary +-_service = settings.service_binary ++_rc_config = settings.rc_config_binary ++_rc_service = settings.rc_service_binary + _systemctl = settings.systemctl_binary + + +@@ -415,7 +415,7 @@ + self.mock_runner, self.service, None + ) + self.mock_runner.run.assert_called_once_with( +- [_chkconfig, self.service, "off"] ++ [_rc_config, "delete", self.service, "default"] + ) + + def test_not_systemctl_failed(self, mock_is_installed, mock_systemctl): +@@ -430,7 +430,7 @@ + self.mock_runner, self.service, None + ) + self.mock_runner.run.assert_called_once_with( +- [_chkconfig, self.service, "off"] ++ [_rc_config, "delete", self.service, "default"] + ) + + def test_systemctl_not_installed(self, mock_is_installed, mock_systemctl): +@@ -480,7 +480,7 @@ + self.mock_runner, self.service, instance + ) + self.mock_runner.run.assert_called_once_with( +- [_chkconfig, self.service, "off"] ++ [_rc_config, "delete", self.service, "default"] + ) + + +@@ -514,7 +514,7 @@ + self.mock_runner.run.return_value = ("", "", 0) + lib.enable_service(self.mock_runner, self.service) + self.mock_runner.run.assert_called_once_with( +- [_chkconfig, self.service, "on"] ++ [_rc_config, "add", self.service, "default"] + ) + + def test_not_systemctl_failed(self, mock_systemctl): +@@ -525,7 +525,7 @@ + lambda: lib.enable_service(self.mock_runner, self.service), + ) + self.mock_runner.run.assert_called_once_with( +- [_chkconfig, self.service, "on"] ++ [_rc_config, "add", self.service, "default"] + ) + + def test_instance_systemctl(self, mock_systemctl): +@@ -545,7 +545,7 @@ + self.mock_runner.run.return_value = ("", "", 0) + lib.enable_service(self.mock_runner, self.service, instance="test") + self.mock_runner.run.assert_called_once_with( +- [_chkconfig, self.service, "on"] ++ [_rc_config, "add", self.service, "default"] + ) + + +@@ -579,7 +579,7 @@ + self.mock_runner.run.return_value = ("Starting...", "", 0) + lib.start_service(self.mock_runner, self.service) + self.mock_runner.run.assert_called_once_with( +- [_service, self.service, "start"] ++ [_rc_service, self.service, "start"] + ) + + def test_not_systemctl_failed(self, mock_systemctl): +@@ -590,7 +590,7 @@ + lambda: lib.start_service(self.mock_runner, self.service), + ) + self.mock_runner.run.assert_called_once_with( +- [_service, self.service, "start"] ++ [_rc_service, self.service, "start"] + ) + + def test_instance_systemctl(self, mock_systemctl): +@@ -610,7 +610,7 @@ + self.mock_runner.run.return_value = ("Starting...", "", 0) + lib.start_service(self.mock_runner, self.service, instance="test") + self.mock_runner.run.assert_called_once_with( +- [_service, self.service, "start"] ++ [_rc_service, self.service, "start"] + ) + + +@@ -644,7 +644,7 @@ + self.mock_runner.run.return_value = ("Stopping...", "", 0) + lib.stop_service(self.mock_runner, self.service) + self.mock_runner.run.assert_called_once_with( +- [_service, self.service, "stop"] ++ [_rc_service, self.service, "stop"] + ) + + def test_not_systemctl_failed(self, mock_systemctl): +@@ -655,7 +655,7 @@ + lambda: lib.stop_service(self.mock_runner, self.service), + ) + self.mock_runner.run.assert_called_once_with( +- [_service, self.service, "stop"] ++ [_rc_service, self.service, "stop"] + ) + + def test_instance_systemctl(self, mock_systemctl): +@@ -671,7 +671,7 @@ + self.mock_runner.run.return_value = ("Stopping...", "", 0) + lib.stop_service(self.mock_runner, self.service, instance="test") + self.mock_runner.run.assert_called_once_with( +- [_service, self.service, "stop"] ++ [_rc_service, self.service, "stop"] + ) + + +@@ -734,13 +734,13 @@ + mock_systemctl.return_value = False + self.mock_runner.run.return_value = ("", "", 0) + self.assertTrue(lib.is_service_enabled(self.mock_runner, self.service)) +- self.mock_runner.run.assert_called_once_with([_chkconfig, self.service]) ++ self.mock_runner.run.assert_called_once_with([_rc_config, self.service]) + + def test_not_systemctl_disabled(self, mock_systemctl): + mock_systemctl.return_value = False + self.mock_runner.run.return_value = ("", "", 3) + self.assertFalse(lib.is_service_enabled(self.mock_runner, self.service)) +- self.mock_runner.run.assert_called_once_with([_chkconfig, self.service]) ++ self.mock_runner.run.assert_called_once_with([_rc_config, self.service]) + + + @mock.patch("pcs.lib.external.is_systemctl") +@@ -770,7 +770,7 @@ + self.mock_runner.run.return_value = ("is running", "", 0) + self.assertTrue(lib.is_service_running(self.mock_runner, self.service)) + self.mock_runner.run.assert_called_once_with( +- [_service, self.service, "status"] ++ [_rc_service, self.service, "status"] + ) + + def test_not_systemctl_not_running(self, mock_systemctl): +@@ -778,7 +778,7 @@ + self.mock_runner.run.return_value = ("is stopped", "", 3) + self.assertFalse(lib.is_service_running(self.mock_runner, self.service)) + self.mock_runner.run.assert_called_once_with( +- [_service, self.service, "status"] ++ [_rc_service, self.service, "status"] + ) + + +@@ -942,14 +942,14 @@ + ["pcsd", "sbd", "pacemaker"], + ) + self.assertEqual(mock_is_systemctl.call_count, 1) +- self.mock_runner.run.assert_called_once_with([_chkconfig]) ++ self.mock_runner.run.assert_called_once_with([_rc_config]) + + def test_failed(self, mock_is_systemctl): + mock_is_systemctl.return_value = False + self.mock_runner.run.return_value = ("stdout", "failed", 1) + self.assertEqual(lib.get_non_systemd_services(self.mock_runner), []) + self.assertEqual(mock_is_systemctl.call_count, 1) +- self.mock_runner.run.assert_called_once_with([_chkconfig]) ++ self.mock_runner.run.assert_called_once_with([_rc_config]) + + def test_systemd(self, mock_is_systemctl): + mock_is_systemctl.return_value = True diff --git a/sys-cluster/pcs/pcs-0.10.8.ebuild b/sys-cluster/pcs/pcs-0.10.8.ebuild new file mode 100644 index 00000000..687d1fda --- /dev/null +++ b/sys-cluster/pcs/pcs-0.10.8.ebuild @@ -0,0 +1,112 @@ +# Copyright 2019-2020 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 distutils-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="snmp systemd" + +DEPEND=" + dev-libs/libffi + media-libs/fontconfig + sys-apps/coreutils +" +RDEPEND=" + ${DEPEND} + dev-libs/openssl + 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}] + >=sys-cluster/corosync-3.0 + >=sys-cluster/pacemaker-2.0 + sys-libs/pam + sys-process/psmisc + >=www-servers/tornado-6.0[${PYTHON_USEDEP}] + <www-servers/tornado-7.0[${PYTHON_USEDEP}] +" + +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/thin + dev-ruby/thor + dev-ruby/tilt +" + +PATCHES=( "${FILESDIR}/remove-ruby-bundle-path.patch" "${FILESDIR}/openrc-0.10.8.patch" ) + +S="${WORKDIR}/all/${P}" + +src_compile() { + return +} + +src_install() { + # pre-create directory that is needed by 'make install' + dodir "/usr/lib/pcs" + # install files using 'make install' + emake install \ + SYSTEMCTL_OVERRIDE=$(use systemd) \ + DESTDIR="${D}" \ + CONF_DIR="/etc/default/" \ + PREFIX="${EPREFIX}/usr/" \ + BUNDLE_INSTALL_PYAGENTX=false \ + BUNDLE_TO_INSTALL=false \ + BUILD_GEMS=false + + # 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 || die + newinitd "${FILESDIR}/pcsd-daemon.initd" pcsd-daemon || die + + # 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" + cp -a "${S}/pcsd/settings.rb.debian" "${D}/usr/lib/pcsd/settings.rb" + + # unless support for SNMP was requested remove SNMP related files + if ! use snmp; then + rm -rf "${D}/usr/share/snmp" + rm -rf "${D}/usr/lib64/python*/site-packages/pcs/snmp" #FIXME + rm "${D}/usr/share/man/man8/pcs_snmp_agent.8" + rm "${D}/usr/lib/pcs/pcs_snmp_agent" + rm "${D}/etc/default/pcs_snmp_agent" + fi + + python_foreach_impl python_optimize +}