diff --git a/.gitignore b/.gitignore index a7d0a2c..fc05a06 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,13 @@ /keepalived-2.0.11.tar.gz /keepalived-2.0.12.tar.gz /keepalived-2.0.18.tar.gz +/keepalived-2.0.19.tar.gz +/keepalived-2.0.20.tar.gz +/keepalived-2.1.5.tar.gz +/keepalived-2.2.0.tar.gz +/keepalived-2.2.1.tar.gz +/keepalived-2.2.2.tar.gz +/keepalived-2.2.3.tar.gz +/keepalived-2.2.4.tar.gz +/keepalived-2.2.7.tar.gz +/keepalived-2.2.8.tar.gz diff --git a/keepalived-configure-c99.patch b/keepalived-configure-c99.patch new file mode 100644 index 0000000..cabf8d9 --- /dev/null +++ b/keepalived-configure-c99.patch @@ -0,0 +1,51 @@ +Fix a configure check that happens to trigger and implicit function +declaration error. + +Fixed slightly differently in upstream via: + +commit 516032ec39169d05c613de0e8ee10845658748ff +Author: Quentin Armitage +Date: Sun Apr 17 18:02:18 2022 +0100 + + config parser: Fix segfault caused by extra '}' and other parser fixes + + If there was a configuration error in a block, e.g. a vrrp_instance, + keepalived would apply the configuration in the rest of the block to + the previous object of that type, e.g. the previous vrrp instance. If + there had been no previous instance, keepalived would probably segfault. + + This commit changes the way the parser works. A new instance of an + object, e.g. a VRRP instance or a virtual server, is only added to the + list of those objects once the configuration of that object is complete. + In particular it no longer applies the configuration to the last entry + on the list of the relevant object type, but keeps a point to the + object currently being configured. + + Signed-off-by: Quentin Armitage + +diff --git a/configure b/configure +index 7cd6c4f614930391..b099b8f42aca1cba 100755 +--- a/configure ++++ b/configure +@@ -6382,7 +6382,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + #include + +- static int func(int i) __attribute__((error("deliberate error"))) ++ static int __attribute__((error("deliberate error"))) func(int i) + { + return i * 2; + } +diff --git a/configure.ac b/configure.ac +index 350a9f4e9567518c..5546143b4630aff6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -792,7 +792,7 @@ AC_COMPILE_IFELSE( + [[ + #include + +- static int func(int i) __attribute__((error("deliberate error"))) ++ static int __attribute__((error("deliberate error"))) func(int i) + { + return i * 2; + } diff --git a/keepalived.service b/keepalived.service index a5a9b28..b4a521d 100644 --- a/keepalived.service +++ b/keepalived.service @@ -4,11 +4,12 @@ After=network-online.target syslog.target Wants=network-online.target [Service] -Type=forking +Type=notify +NotifyAccess=all PIDFile=/run/keepalived.pid KillMode=process EnvironmentFile=-/etc/sysconfig/keepalived -ExecStart=/usr/sbin/keepalived $KEEPALIVED_OPTIONS +ExecStart=/usr/sbin/keepalived --dont-fork $KEEPALIVED_OPTIONS ExecReload=/bin/kill -HUP $MAINPID [Install] diff --git a/keepalived.spec b/keepalived.spec index 0b36367..28896aa 100644 --- a/keepalived.spec +++ b/keepalived.spec @@ -1,6 +1,8 @@ %bcond_without snmp %bcond_without vrrp %bcond_without sha1 +%bcond_without json +%bcond_without nftables %bcond_with profile %bcond_with debug @@ -8,13 +10,14 @@ Name: keepalived Summary: High Availability monitor built upon LVS, VRRP and service pollers -Version: 2.0.18 -Release: 2%{?dist} -License: GPLv2+ +Version: 2.2.8 +Release: 8%{?dist} +License: GPL-2.0-or-later URL: http://www.keepalived.org/ Source0: http://www.keepalived.org/software/keepalived-%{version}.tar.gz Source1: keepalived.service +#Patch0: keepalived-configure-c99.patch Requires(post): systemd Requires(preun): systemd @@ -23,13 +26,21 @@ Requires(postun): systemd %if %{with snmp} BuildRequires: net-snmp-devel %endif -BuildRequires: gcc -BuildRequires: systemd-units -BuildRequires: openssl-devel -BuildRequires: libnl3-devel +%if %{with nftables} +BuildRequires: libmnl-devel +BuildRequires: libnftnl-devel +%else BuildRequires: ipset-devel BuildRequires: iptables-devel +%endif +BuildRequires: gcc +BuildRequires: systemd-units +BuildRequires: systemd-devel +BuildRequires: openssl-devel +BuildRequires: libnl3-devel BuildRequires: libnfnetlink-devel +BuildRequires: file-devel +BuildRequires: make %description Keepalived provides simple and robust facilities for load balancing @@ -46,7 +57,10 @@ can be used independently or all together to provide resilient infrastructures. %prep -%setup -q +%autosetup -p1 + +# Prevent re-running autotools. +touch aclocal.m4 Makefile.in lib/config.h.in configure %build %configure \ @@ -54,6 +68,8 @@ infrastructures. %{?with_profile:--enable-profile} \ %{!?with_vrrp:--disable-vrrp} \ %{?with_snmp:--enable-snmp --enable-snmp-rfc} \ + %{?with_nftables:--enable-nftables --disable-iptables} \ + %{?with_json:--enable-json} \ %{?with_sha1:--enable-sha1} \ --with-init=systemd %{__make} %{?_smp_mflags} STRIP=/bin/true @@ -63,6 +79,8 @@ rm -rf %{buildroot} make install DESTDIR=%{buildroot} rm -rf %{buildroot}%{_initrddir}/ rm -rf %{buildroot}%{_sysconfdir}/keepalived/samples/ +mv %{buildroot}%{_sysconfdir}/keepalived/keepalived.conf.sample \ + %{buildroot}%{_sysconfdir}/keepalived/keepalived.conf %{__install} -p -D -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/keepalived.service mkdir -p %{buildroot}%{_libexecdir}/keepalived @@ -95,6 +113,127 @@ mkdir -p %{buildroot}%{_libexecdir}/keepalived %{_mandir}/man8/keepalived.8* %changelog +* Thu Jul 24 2025 Fedora Release Engineering - 2.2.8-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Fri Jan 17 2025 Fedora Release Engineering - 2.2.8-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jul 18 2024 Fedora Release Engineering - 2.2.8-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Jan 24 2024 Fedora Release Engineering - 2.2.8-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 2.2.8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Aug 04 2023 Ryan O'Hara - 2.2.8-3 +- Migrate to SPDX license + +* Thu Jul 20 2023 Fedora Release Engineering - 2.2.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jun 08 2023 Ryan O'Hara - 2.2.8-1 +- Update to 2.2.8 (#2211385) + +* Thu Jan 19 2023 Fedora Release Engineering - 2.2.7-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Dec 20 2022 Ryan O'Hara - 2.2.7-5 +- Enable JSON support + +* Wed Dec 7 2022 Florian Weimer - 2.2.7-4 +- Fix spurious implicit function declaration in broken configure check + +* Thu Jul 21 2022 Fedora Release Engineering - 2.2.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jul 07 2022 Ryan O'Hara - 2.2.7-2 +- Move keepalived.conf.sample to keepalived.conf + +* Mon Feb 14 2022 Ryan O'Hara - 2.2.7-1 +- Update to 2.2.7 (#2041231) + +* Thu Jan 20 2022 Fedora Release Engineering - 2.2.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Dec 14 2021 Ryan O'Hara - 2.2.4-4 +- Fix dbus policy (#2027158, CVE-2021-44225) + +* Sat Nov 27 2021 Kevin Fenzi - 2.2.4-3 +- Rebuild for new libnftnl + +* Tue Sep 14 2021 Sahana Prasad - 2.2.4-2 +- Rebuilt with OpenSSL 3.0.0 + +* Mon Aug 23 2021 Ryan O'Hara - 2.2.4-1 +- Update to 2.2.4 (#1996274) + +* Sat Aug 14 2021 Ryan O'Hara - 2.2.3-1 +- Update to 2.2.3 (#1993601) + +* Tue Aug 03 2021 Ryan O'Hara - 2.2.2-5 +- Add systemd notify support + +* Tue Aug 03 2021 Ryan O'Hara - 2.2.2-4 +- Fix build errors (#1987620) + +* Thu Jul 22 2021 Fedora Release Engineering - 2.2.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon Apr 12 2021 Ryan O'Hara - 2.2.2-2 +- Add BuildRequires for file-devel + +* Wed Apr 07 2021 Ryan O'Hara - 2.2.2-1 +- Update to 2.2.2 (#1935590) + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 2.2.1-3 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + +* Tue Jan 26 2021 Fedora Release Engineering - 2.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jan 18 2021 Ryan O'Hara - 2.2.1-1 +- Update to 2.2.1 (#1917152) + +* Thu Jan 14 2021 Ryan O'Hara - 2.2.0-1 +- Update to 2.2.0 (#1914512) + +* Thu Aug 27 2020 Josef Řídký - 2.1.5-3 +- Rebuilt for new net-snmp release + +* Tue Jul 28 2020 Fedora Release Engineering - 2.1.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 15 2020 Ryan O'Hara - 2.1.5-1 +- Update to 2.1.5 (#1794135) + +* Tue Feb 18 2020 Ryan O'Hara - 2.0.20-3 +- Build with nftables support instead of iptables + +* Thu Feb 13 2020 Ryan O'Hara - 2.0.20-2 +- Remove unused patches + +* Wed Feb 12 2020 Ryan O'Hara - 2.0.20-1 +- Update to 2.0.20 (#1794135) + +* Wed Jan 29 2020 Fedora Release Engineering - 2.0.19-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Nov 12 2019 Ryan O'Hara - 2.0.19-4 +- Fix file descriptor errors on reload + +* Tue Nov 12 2019 Ryan O'Hara - 2.0.19-3 +- Fix track_process with PIDs over 32767 (#1770766) + +* Wed Nov 06 2019 Ryan O'Hara - 2.0.19-2 +- Enable nftables support (#1769278) + +* Wed Nov 06 2019 Ryan O'Hara - 2.0.19-1 +- Update to 2.0.19 (#1763424) + * Tue Jul 30 2019 Ryan O'Hara - 2.0.18-2 - Change pidfile directory (#1712730) diff --git a/sources b/sources index 63a74a2..68261a4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (keepalived-2.0.18.tar.gz) = 11e0a9b9bdca734a923254b4484f4e808cf362e795e3f457f707772b7522929be4bbbba9b1c152b7cb7601d8315b6faea229ed59f115787d6197fbc62770f9a3 +SHA512 (keepalived-2.2.8.tar.gz) = dc0ab5b0ef8911a7859422eccc2771a40e942236c855a628158ed748eb5f7dc4b6f4850e9c3057e81fd9d2daa640ab51fb1d7af12748a613280a217b333eb06b