keepalived/keepalived.spec

147 lines
4.9 KiB
RPMSpec

%bcond_without snmp
%bcond_without vrrp
%bcond_without sha1
%bcond_with profile
%bcond_without nftables
%bcond_with debug
%global _hardened_build 1
Name: keepalived
Version: 2.2.4
Release: 4
Summary: High Availability monitor built upon LVS, VRRP and service pollers
License: GPLv2+
URL: http://www.keepalived.org/
Source0: http://www.keepalived.org/software/keepalived-%{version}.tar.gz
Source1: keepalived.service
Source2: keepalived-stop-post.sh
Source3: keepalived-start-post.sh
Source4: keepalived-pid-check.sh
Patch0001: CVE-2021-44225.patch
Patch0002: scheduler-Handle-cancelling-timer-thread-on-ready-qu.patch
Patch0003: vrrp-dbus-Fix-assert-on-shutdown-after-name-lost.patch
Patch0004: vrrp-Resolve-segfault-when-enable_snmp_vrrp-is-added.patch
Patch0005: Fix-segfault-when-receive-netlink-message-for-static.patch
Patch0006: vrrp-deley-freeing-vrrp-instances-until-all-referenc.patch
Patch0007: check-use-last-entry-if-duplicate-definition.patch
Patch0008: check-fix-further-memory-leaks-when-configuration-is.patch
Patch0009: dbus-fix-type-of-name-property-in-interface.patch
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
BuildRequires: net-snmp-devel gcc systemd-units openssl-devel libnl3-devel
BuildRequires: ipset-devel iptables-devel libnfnetlink-devel libnftnl-devel
BuildRequires: file-devel libmnl-devel
%{?systemd requires}
%description
Keeplived is a routing software written in C. The main goal of this project
is to provide simple and robust facilities for loadbalancing and
high-availability to Linux system and Linux based infrastructures.
Loadbalancing framework relies on well-known and widely used Linux Virtual
Server (IPVS) kernel module providing Layer4 loadbalancing. Keepalived
implements a set of checkers to dynamically and adaptively maintain and
manage loadbalanced server pool according their health. On the other hand
high-availability is achieved by VRRP protocol. VRRP is a fundamental brick
for router failover. In addition, Keepalived implements a set of hooks to
the VRRP finite state machine providing low-level and high-speed protocol
interactions. In order to offer fastest network failure detection, Keepalived
implements BFD protocol. VRRP state transition can take into account BFD hint
to drive fast state transition. Keepalived frameworks can be used independently
or all together to provide resilient infrastructures.
%package_help
%prep
%autosetup -n %{name}-%{version} -p1
%build
%configure %{?with_debug:--enable-debug} %{?with_profile:--enable-profile} \
%{!?with_vrrp:--disable-vrrp} %{?with_sha1:--enable-sha1} \
--with-init=systemd %{!?with_vrrp:--disable-vrrp} \
%{?with_nftables:--enable-nftables --disable-iptables --disable-ipset} \
%{?with_snmp:--enable-snmp --enable-snmp-rfc} \
%make_build STRIP=/bin/true
%install
%make_install
pushd %{buildroot}
rm -rf .%{_initrddir}/
rm -rf .%{_sysconfdir}/keepalived/samples/
popd
install -d -m 0755 %{buildroot}%{_unitdir}
install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/keepalived.service
install -p -D -m 0550 %{SOURCE2} %{buildroot}%{_sbindir}/keepalived-stop-post.sh
install -p -D -m 0550 %{SOURCE3} %{buildroot}%{_sbindir}/keepalived-start-post.sh
install -p -D -m 0550 %{SOURCE4} %{buildroot}%{_sbindir}/keepalived-pid-check.sh
install -Dd -m 0755 %{buildroot}%{_libexecdir}/keepalived
%post
%systemd_post keepalived.service
%preun
%systemd_preun keepalived.service
%postun
%systemd_postun_with_restart keepalived.service
%files
%defattr(-,root,root)
%doc README
%license COPYING
%config(noreplace) %attr(0644,root,root) %{_sysconfdir}/sysconfig/keepalived
%config(noreplace) %attr(0644,root,root) %{_sysconfdir}/keepalived/keepalived.conf
%attr(0755,root,root) %{_sbindir}/keepalived
%dir %{_sysconfdir}/keepalived/
%dir %{_libexecdir}/keepalived/
%attr(0550,root,root) %{_sbindir}/keepalived-stop-post.sh
%attr(0550,root,root) %{_sbindir}/keepalived-start-post.sh
%attr(0550,root,root) %{_sbindir}/keepalived-pid-check.sh
%{_bindir}/genhash
%{_datadir}/snmp/mibs/*
%{_unitdir}/keepalived.service
%files help
%defattr(-,root,root)
%doc AUTHOR ChangeLog TODO CONTRIBUTORS
%{_mandir}/man*
%changelog
* Thu Aug 10 2023 liubo <liubo335@huawei.com> - 2.2.4-4
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:dbus:fix type of name property in interface
* Mon Jun 12 2023 sunsuwan <sunsuwan3@huawei.com> - 2.2.4-3
- Type:CVE
- ID:NA
- SUG:NA
- DESC:backport upstream patches and make service start not so offen
* Tue Mar 29 2022 kwb0523 <kwb0523@163.com> - 2.2.4-2
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:fix CVE-2021-44225
* Tue Dec 21 2021 kwb0523 <kwb0523@163.com> - 2.2.4-1
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:upgrade keepalived to 2.2.4
* Thu Jun 10 2021 wangxp006 <wangxp006@163.com> - 2.0.20-3
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:backport upstream patches
* Tue May 12 2020 openEuler Buildteam <buildteam@openeuler.org> - 2.0.20-2
- Package init