# # spec file for package fence-agents # # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %global plugin_dir %{_libdir}/stonith/plugins/rhcs %define agent_list alom amt amt_ws apc apc_snmp azure_arm bladecenter brocade cisco_mds cisco_ucs compute docker drac5 dummy eaton_snmp emerson eps hds_cb hpblade ibmblade ifmib ilo ilo_moonshot ilo_mp ilo_ssh intelmodular ipdu ipmilan ironic kdump ldom lpar mpath netio powerman pve raritan rcd_serial rhevm rsa rsb sanbox2 sbd scsi vbox virsh vmware wti xenapi zvm Name: fence-agents Summary: Fence Agents for High Availability License: GPL-2.0 and LGPL-2.1 Group: Productivity/Clustering/HA Version: 4.0.25+git.1501671877.7bae40a0 Release: 0 Url: https://github.com/ClusterLabs/fence-agents Source0: %{name}-%{version}.tar.xz # PATCH-FIX-UPSTREAM: fence_compute: Only list nova-compute services when getting status Patch1: 0001-fence_compute-Only-list-nova-compute-services-when-g.patch # PATCH-FIX-UPSTREAM: fence_compute: On list, don't list hypervisors but nova-compute services Patch2: 0002-fence_compute-Don-t-list-hypervisors-but-nova-comput.patch # PATCH-FIX-UPSTREAM: fence_compute: Do not override domain if it is already correct Patch3: 0003-fence_compute-Do-not-override-domain-if-it-is-alread.patch # PATCH-FIX-UPSTREAM: fence_compute: Fix handling of domain == None Patch4: 0004-fence_compute-Fix-handling-of-domain-None.patch # PATCH-FIX-UPSTREAM: fence_compute: Fix fix_domain to not return too early Patch5: 0005-fence_compute-Fix-fix_domain-to-not-return-too-early.patch # PATCH-FIX-UPSTREAM: fence_compute: Fix fix_plug_name when looking if plug has domain Patch6: 0006-fence_compute-Fix-fix_plug_name-when-looking-if-plug.patch # PATCH-FIX-UPSTREAM: fence_compute: Remove duplicate check for binary name Patch7: 0007-fence_compute-Remove-duplicate-check-for-binary-name.patch # PATCH-FIX-UPSTREAM: fence_compute: Fix disabling force_down on node when action is on Patch9: 0009-fence_compute-Fix-disabling-force_down-on-node-when-.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake BuildRequires: fdupes BuildRequires: glibc-devel BuildRequires: libtool BuildRequires: libxml2-tools BuildRequires: libxslt BuildRequires: mozilla-nspr-devel BuildRequires: mozilla-nss-devel BuildRequires: perl BuildRequires: perl-Net-Telnet BuildRequires: pkg-config BuildRequires: python3 BuildRequires: python3-openwsman BuildRequires: python3-pexpect BuildRequires: python3-pycurl BuildRequires: python3-requests BuildRequires: python3-xml BuildRequires: xz Requires: net-snmp Requires: openssh Requires: perl-Net-Telnet Requires: python3-pexpect Requires: python3-pycurl Requires: python3-requests Requires: sg3_utils Requires: telnet # This is required by fence_virsh. Per discussion on fedora-devel # switching from package to file based require. Recommends: /usr/bin/virsh # This is required by fence_ipmilan. it appears that the packages # have changed Requires around. Make sure to get the right one. Recommends: /usr/bin/ipmitool Recommends: openwsman-python %if 0%{?with_regression_tests} BuildRequires: time %endif %description Fence agents are device drivers able to prevent computers from destroying data on shared storage. Their aim is to isolate a corrupted computer by controlling power, network or storage configuration. This package provides both a Python API for creating agents as well as a collection of existing agents. %package devel Summary: Fence Agents for High Availability Group: Development/Tools/Other Requires: %{name} = %{version} %description devel Fence agents are device drivers able to prevent computers from destroying data on shared storage. Their aim is to isolate a corrupted computer by controlling power, network or storage configuration. This package provides agents suitable only for development. %prep %setup -q -n %{name}-%{version} %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 %patch9 -p1 %build CFLAGS="${CFLAGS} ${RPM_OPT_FLAGS}" export CFLAGS PYTHON="%{_bindir}/env python3" export PYTHON ./autogen.sh %{configure} --with-agents='%{agent_list}' make %install make install DESTDIR=%{buildroot} ## tree fix up # fix libfence permissions chmod 0755 %{buildroot}%{_datadir}/fence/fenc*.py # remove docs rm -rf %{buildroot}/usr/share/doc/fence-agents # create links to agents in the plugins dir mkdir -p %{buildroot}%{plugin_dir} ln -s %{_sbindir}/fence_cisco_ucs %{buildroot}%{plugin_dir} %fdupes %buildroot%{_sbindir} %fdupes %buildroot%{_datadir}/cluster %if 0%{?with_regression_tests} %check make check PYTHONPATH=fence/agents/lib python fence/agents/lib/tests/test_fencing.py %endif %files %defattr(-,root,root,-) %doc doc/COPYING.* doc/COPYRIGHT doc/README.licence %dir %{plugin_dir} %dir %{_libdir}/stonith/plugins %dir %{_libdir}/stonith %{_datadir}/fence %{_datadir}/cluster %{plugin_dir}/fence_cisco_ucs %{_sbindir}/fence_* %exclude %{_sbindir}/fence_dummy %exclude %{_mandir}/man8/fence_dummy* %{_mandir}/man8/fence_* %{_libexecdir}/fence_* %files devel %{_sbindir}/fence_dummy %{_mandir}/man8/fence_dummy* %changelog