From 3f06ebd79af7302558723e45fd13ce0eee8ed3cb Mon Sep 17 00:00:00 2001 From: Ryan O'Hara Date: Mon, 11 Sep 2017 10:14:07 -0600 Subject: [PATCH] Update to 1.3.6 (#1481471) --- configure.patch | 562 ------------------------------ fix-checksum-VRRPv3-unicast.patch | 43 +++ fix-conditional-compilation.patch | 26 ++ generate-readme.patch | 249 +++++++++++++ keepalived.spec | 15 +- 5 files changed, 331 insertions(+), 564 deletions(-) delete mode 100644 configure.patch create mode 100644 fix-checksum-VRRPv3-unicast.patch create mode 100644 fix-conditional-compilation.patch create mode 100644 generate-readme.patch diff --git a/configure.patch b/configure.patch deleted file mode 100644 index 015742b..0000000 --- a/configure.patch +++ /dev/null @@ -1,562 +0,0 @@ ---- a/configure.ac 2016-09-11 17:47:25.000000000 +0100 -+++ b/configure.ac 2016-09-16 18:06:48.931414048 +0100 -@@ -154,7 +154,8 @@ - [], [AC_MSG_ERROR([Missing/unusable system header file <$ac_header>])]) - - # check for kernel headers --CPPFLAGS="$kernelinc" -+SAV_CPPFLAGS="$CPPFLAGS" -+CPPFLAGS="$CPPFLAGS $kernelinc" - dnl -- needed until Linux 3.1 - dnl -- using AC_CHECK_HEADER causes a horrible error message for the user - NETLINK_EXTRA_INCLUDE= -@@ -176,6 +177,7 @@ - AC_CHECK_HEADERS([linux/if_arp.h], - [], [AC_MSG_ERROR([Missing/unusable <$ac_header>])], - [[#include ]]) -+CPPFLAGS="$SAV_CPPFLAGS" - - # Checks for typedefs, structures, and compiler characteristics. - AC_HEADER_STDBOOL -@@ -303,16 +305,19 @@ - ]) - - if test $NETLINK_VER != None; then -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - AC_CHECK_HEADERS(libnfnetlink/libnfnetlink.h,,AC_MSG_ERROR([ - !!! Please install libnfnetlink headers. !!!])) - if test $NETLINK_VER = 3; then -- CPPFLAGS="$NL3_CFLAGS" -+ CPPFLAGS="$CPPFLAGS $NL3_CFLAGS" - AC_CHECK_HEADERS([netlink/route/link.h netlink/route/link/inet.h], [], [AC_MSG_ERROR([libnl-3 headers missing])]) - fi - - AC_CHECK_HEADERS([linux/rtnetlink.h], [], [AC_MSG_ERROR([Unusable link/rtnetlink.h])], [$NETLINK_EXTRA_INCLUDE]) - AC_CHECK_HEADERS([libnfnetlink/libnfnetlink.h netlink/genl/ctrl.h netlink/genl/genl.h netlink/netlink.h], [], [AC_MSG_ERROR([netlink headers missing])]) -+ -+ CPPFLAGS="$SAV_CPPFLAGS" - fi - - dnl -- Check for the following variables introduced at various times into Linux -@@ -347,7 +352,8 @@ - dnl -- Resolved in libnl3-3.2.26 (release 30/3/2015) - if test $NETLINK_VER = 3; then - AC_MSG_CHECKING([for net/if.h and libnl3/netlink/route/link.h namespace collision]) -- CPPFLAGS="$NL3_CFLAGS" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $NL3_CFLAGS" - AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ - #include - #include -@@ -358,12 +364,14 @@ - AC_DEFINE([_HAVE_IF_H_LINK_H_COLLISION_], [ 1 ], [Define to 1 if and namespace collision]) - add_build_opt([IF_H_LINK_H_COLLISION]) - ]) -+ CPPFLAGS="$SAV_CPPFLAGS" - fi - - dnl ----[Check have IPV4_DEVCONF defines - since Linux 3.11]---- - if test $NETLINK_VER = 3; then - IPV4_DEVCONF=Yes -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - AC_CHECK_DECLS([ - IPV4_DEVCONF_ARP_IGNORE, - IPV4_DEVCONF_ACCEPT_LOCAL, -@@ -375,6 +383,7 @@ - break - ], - [[#include ]]) -+ CPPFLAGS="$SAV_CPPFLAGS" - else - IPV4_DEVCONF=No - fi -@@ -397,20 +406,23 @@ - if test $USE_LIBIPTC = Yes; then - add_pkg_config([--static libiptc], [IPTC]) - LIBS="$IPTC_LIBS" -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - AC_CHECK_LIB(iptc, iptc_init, - [ - add_pkg_config([--static libiptc]) - AC_DEFINE([_HAVE_LIBIPTC_], [ 1 ], [Define to 1 if have iptables libraries]) - ], - [USE_LIBIPTC=No]) -+ CPPFLAGS="$SAV_CPPFLAGS" - fi - - if test $USE_LIBIPTC = Yes; then - add_build_opt([LIBIPTC]) - - dnl ----[Check for ipset libraries]---- -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - if test "${enable_libipset}" != no; then - pkg-config --exists libipset - if test $? -eq 0; then -@@ -478,6 +490,8 @@ - AC_CHECK_DECL([XT_EXTENSION_MAXNAMELEN], [], - [AC_DEFINE([XT_EXTENSION_MAXNAMELEN], [ (XT_FUNCTION_MAXNAMELEN - 1) ], [Define if doesnt define it])], - [#include ]) -+ -+ CPPFLAGS="$SAV_CPPFLAGS" - fi - fi - AM_CONDITIONAL([LIBIPTC], [test $USE_LIBIPTC = Yes]) -@@ -488,7 +502,8 @@ - # Linux 4.5 to 4.5.4 has indirectly including - # and which causes a namespace collision. - AC_MSG_CHECKING([for libiptc/libiptc.h linux/if.h and net/if.h namespace collision]) --CPPFLAGS="$kernelinc" -+SAV_CPPFLAGS="$CPPFLAGS" -+CPPFLAGS="$CPPFLAGS $kernelinc" - AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ - #include - ]])], -@@ -500,6 +515,7 @@ - AC_DEFINE([_HAVE_LINUX_NET_IF_H_COLLISION_], [ 1 ], [Define to 1 if have libiptc/libiptc.h linux/if.h and net/if.h namespace collision]) - add_build_opt([LINUX_NET_IF_H_COLLISION]) - ]) -+CPPFLAGS="$SAV_CPPFLAGS" - - dnl ----[ Checks for LVS and VRRP support ]---- - IPVS_SYNCD_ATTRIBUTES=No -@@ -518,7 +534,8 @@ - fi - - dnl ----[ IPVS syncd options ]--- -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - IPVS_SYNCD_ATTRIBUTES=Yes - AC_CHECK_DECLS([ - IPVS_DAEMON_ATTR_SYNC_MAXLEN, -@@ -540,7 +557,6 @@ - dnl ----[ IPVS 64-bit stats ]---- - dnl -- Since Linux 4.2 - if test "$enable_lvs_64bit_stats" != "no"; then -- CPPFLAGS="$kernelinc" - IPVS_64BIT_STATS=Yes - AC_CHECK_DECLS([ - IPVS_SVC_ATTR_STATS64, -@@ -555,6 +571,7 @@ - add_build_opt([IPVS_64BIT_STATS]) - fi - fi -+ CPPFLAGS="$SAV_CPPFLAGS" - else - IPVS_SUPPORT=No - fi -@@ -577,7 +594,8 @@ - fi - - dnl ----[ Checks for kernel VMAC support ]---- -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - MACVLAN_SUPPORT=Yes - dnl -- Since Linux 2.6.33 - AC_CHECK_DECLS([ -@@ -594,6 +612,7 @@ - AC_DEFINE([_HAVE_VRRP_VMAC_], [ 1 ], [Define to 1 if have MAC VLAN support]) - add_build_opt([VRRP_VMAC]) - fi -+ CPPFLAGS="$SAV_CPPFLAGS" - fi - AM_CONDITIONAL([WITH_VRRP], [test $VRRP_SUPPORT = Yes]) - AM_CONDITIONAL([VRRP_AUTH], [test $VRRP_AUTH_SUPPORT = Yes]) -@@ -614,7 +633,8 @@ - - dnl ----[ Checks for FIB routing support ]---- - # Introduced in Linux 2.6.19 --CPPFLAGS="$kernelinc" -+SAV_CPPFLAGS="$CPPFLAGS" -+CPPFLAGS="$CPPFLAGS $kernelinc" - AC_CHECK_DECL([FRA_SRC], - [ - FIB_ROUTING_SUPPORT=Yes -@@ -626,9 +646,11 @@ - ],[[#include - #include ]]) - AM_CONDITIONAL([FIB_ROUTING], [test $FIB_ROUTING_SUPPORT = Yes]) -+CPPFLAGS="$SAV_CPPFLAGS" - - dnl ----[ Checks for kernel IFLA_INET6_ADDR_GEN_MODE support ]---- --CPPFLAGS="$kernelinc" -+SAV_CPPFLAGS="$CPPFLAGS" -+CPPFLAGS="$CPPFLAGS $kernelinc" - if test ${MACVLAN_SUPPORT} = Yes; then - # Introduced in Linux 3.17 - AC_CHECK_DECLS([IFLA_INET6_ADDR_GEN_MODE], -@@ -638,6 +660,7 @@ - #include - ]]) - fi -+CPPFLAGS="$SAV_CPPFLAGS" - - dnl ----[ Checks for SNMP support ]---- - SNMP_SUPPORT=No -@@ -662,8 +685,10 @@ - NETSNMP_LIBS="$NETSNMP_LIBS_AGENT $NETSNMP_LIBS_EXT" - NETSNMP_CFLAGS="`${NETSNMP_CONFIG} --base-cflags` -DNETSNMP_NO_INLINE" - -- CFLAGS="${NETSNMP_CFLAGS}" -- LIBS="${NETSNMP_LIBS}" -+ SAV_CFLAGS="$CFLAGS" -+ CFLAGS="$CFLAGS ${NETSNMP_CFLAGS}" -+ SAV_LIBS="$LIBS" -+ LIBS="$LIBS ${NETSNMP_LIBS}" - AC_MSG_CHECKING([whether C compiler supports flag "${NETSNMP_CFLAGS} ${NETSNMP_LIBS}" from Net-SNMP]) - AC_LINK_IFELSE([AC_LANG_SOURCE([[ - int main(void) -@@ -683,7 +708,8 @@ - - # check for net-snmp headers - # Some ancient distributions may miss header -- CPPFLAGS="$NETSNMP_CFLAGS" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $NETSNMP_CFLAGS" - AC_CHECK_HEADERS(net-snmp/agent/agent_sysORTable.h net-snmp/agent/snmp_vars.h net-snmp/agent/util_funcs.h,[], - [AC_MSG_ERROR([missing net-snmp headers])],[[ - #include -@@ -739,8 +765,9 @@ - AC_MSG_ERROR([CHECKER SNMP support requires checker]) - fi - -- unset LIBS -- unset CFLAGS -+ CPPFLAGS="$SAV_CPPFLAGS" -+ CFLAGS="$SAV_CFLAGS" -+ LIBS="$SAV_LIBS" - fi - - dnl ----[What SNMP support is required]---- -@@ -798,10 +825,12 @@ - - dnl ---[ check for setns() ]---- - dnl -- CLONE_NEWNET defined from Linux 3.0 --CFLAGS=-D_GNU_SOURCE -+SAV_CFLAGS="$CFLAGS" -+CFLAGS="$CFLAGS -D_GNU_SOURCE" - AC_CHECK_DECLS([CLONE_NEWNET], [], [], [[#include ]]) - dnl -- From glibc 2.14. Otherwise use setns syscall, since Linux 2.4.x - AC_CHECK_FUNCS([setns]) -+CFLAGS="$SAV_CFLAGS" - AM_CONDITIONAL([WITH_NAMESPACES], [test $ac_cv_have_decl_CLONE_NEWNET = yes]) - - dnl ---[ check for sphinx-build executable ]---- ---- a/configure 2016-09-11 18:17:50.000000000 +0100 -+++ b/configure 2016-09-16 18:06:48.934413991 +0100 -@@ -2527,7 +2527,7 @@ - ac_compiler_gnu=$ac_cv_c_compiler_gnu - - --am__api_version='1.14' -+am__api_version='1.15' - - ac_aux_dir= - for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do -@@ -2728,8 +2728,8 @@ - ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' - program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - --# expand $ac_aux_dir to an absolute path --am_aux_dir=`cd $ac_aux_dir && pwd` -+# Expand $ac_aux_dir to an absolute path. -+am_aux_dir=`cd "$ac_aux_dir" && pwd` - - if test x"${MISSING+set}" != xset; then - case $am_aux_dir in -@@ -2748,7 +2748,7 @@ - $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} - fi - --if test x"${install_sh}" != xset; then -+if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; -@@ -3076,8 +3076,8 @@ - # - mkdir_p='$(MKDIR_P)' - --# We need awk for the "check" target. The system "awk" is bad on --# some platforms. -+# We need awk for the "check" target (and possibly the TAP driver). The -+# system "awk" is bad on some platforms. - # Always define AMTAR for backward compatibility. Yes, it's still used - # in the wild :-( We should find a proper way to deprecate it ... - AMTAR='$${TAR-tar}' -@@ -3137,6 +3137,7 @@ - - - -+ - ac_config_headers="$ac_config_headers lib/config.h" - - -@@ -5259,7 +5260,8 @@ - - - # check for kernel headers --CPPFLAGS="$kernelinc" -+SAV_CPPFLAGS="$CPPFLAGS" -+CPPFLAGS="$CPPFLAGS $kernelinc" - NETLINK_EXTRA_INCLUDE= - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ -@@ -5333,6 +5335,7 @@ - - done - -+CPPFLAGS="$SAV_CPPFLAGS" - - # Checks for typedefs, structures, and compiler characteristics. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 -@@ -6521,7 +6524,8 @@ - - - if test $NETLINK_VER != None; then -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - for ac_header in libnfnetlink/libnfnetlink.h - do : - ac_fn_c_check_header_mongrel "$LINENO" "libnfnetlink/libnfnetlink.h" "ac_cv_header_libnfnetlink_libnfnetlink_h" "$ac_includes_default" -@@ -6538,7 +6542,7 @@ - done - - if test $NETLINK_VER = 3; then -- CPPFLAGS="$NL3_CFLAGS" -+ CPPFLAGS="$CPPFLAGS $NL3_CFLAGS" - for ac_header in netlink/route/link.h netlink/route/link/inet.h - do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -@@ -6586,6 +6590,8 @@ - - done - -+ -+ CPPFLAGS="$SAV_CPPFLAGS" - fi - - ac_fn_c_check_decl "$LINENO" "RTA_ENCAP" "ac_cv_have_decl_RTA_ENCAP" "#include -@@ -6743,7 +6749,8 @@ - if test $NETLINK_VER = 3; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for net/if.h and libnl3/netlink/route/link.h namespace collision" >&5 - $as_echo_n "checking for net/if.h and libnl3/netlink/route/link.h namespace collision... " >&6; } -- CPPFLAGS="$NL3_CFLAGS" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $NL3_CFLAGS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - -@@ -6767,11 +6774,13 @@ - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ CPPFLAGS="$SAV_CPPFLAGS" - fi - - if test $NETLINK_VER = 3; then - IPV4_DEVCONF=Yes -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - ac_fn_c_check_decl "$LINENO" "IPV4_DEVCONF_ARP_IGNORE" "ac_cv_have_decl_IPV4_DEVCONF_ARP_IGNORE" "#include - " - if test "x$ac_cv_have_decl_IPV4_DEVCONF_ARP_IGNORE" = xyes; then : -@@ -6849,6 +6858,7 @@ - - fi - -+ CPPFLAGS="$SAV_CPPFLAGS" - else - IPV4_DEVCONF=No - fi -@@ -6919,7 +6929,8 @@ - - - LIBS="$IPTC_LIBS" -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iptc_init in -liptc" >&5 - $as_echo_n "checking for iptc_init in -liptc... " >&6; } - if ${ac_cv_lib_iptc_iptc_init+:} false; then : -@@ -7002,12 +7013,14 @@ - USE_LIBIPTC=No - fi - -+ CPPFLAGS="$SAV_CPPFLAGS" - fi - - if test $USE_LIBIPTC = Yes; then - BUILD_OPTIONS="$BUILD_OPTIONS LIBIPTC" - -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - if test "${enable_libipset}" != no; then - pkg-config --exists libipset - if test $? -eq 0; then -@@ -7326,6 +7339,8 @@ - - fi - -+ -+ CPPFLAGS="$SAV_CPPFLAGS" - fi - fi - if test $USE_LIBIPTC = Yes; then -@@ -7350,7 +7365,8 @@ - # and which causes a namespace collision. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libiptc/libiptc.h linux/if.h and net/if.h namespace collision" >&5 - $as_echo_n "checking for libiptc/libiptc.h linux/if.h and net/if.h namespace collision... " >&6; } --CPPFLAGS="$kernelinc" -+SAV_CPPFLAGS="$CPPFLAGS" -+CPPFLAGS="$CPPFLAGS $kernelinc" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - -@@ -7373,6 +7389,7 @@ - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+CPPFLAGS="$SAV_CPPFLAGS" - - IPVS_SYNCD_ATTRIBUTES=No - IPVS_64BIT_STATS=No -@@ -7403,7 +7420,8 @@ - BUILD_OPTIONS="$BUILD_OPTIONS LIBIPVS_NETLINK" - fi - -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - IPVS_SYNCD_ATTRIBUTES=Yes - ac_fn_c_check_decl "$LINENO" "IPVS_DAEMON_ATTR_SYNC_MAXLEN" "ac_cv_have_decl_IPVS_DAEMON_ATTR_SYNC_MAXLEN" "#include - " -@@ -7509,7 +7527,6 @@ - fi - - if test "$enable_lvs_64bit_stats" != "no"; then -- CPPFLAGS="$kernelinc" - IPVS_64BIT_STATS=Yes - ac_fn_c_check_decl "$LINENO" "IPVS_SVC_ATTR_STATS64" "ac_cv_have_decl_IPVS_SVC_ATTR_STATS64" "#include - " -@@ -7557,6 +7574,7 @@ - BUILD_OPTIONS="$BUILD_OPTIONS IPVS_64BIT_STATS" - fi - fi -+ CPPFLAGS="$SAV_CPPFLAGS" - else - IPVS_SUPPORT=No - fi -@@ -7587,7 +7605,8 @@ - BUILD_OPTIONS="$BUILD_OPTIONS VRRP_AUTH" - fi - -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - MACVLAN_SUPPORT=Yes - ac_fn_c_check_decl "$LINENO" "IFLA_MACVLAN_MODE" "ac_cv_have_decl_IFLA_MACVLAN_MODE" " - #include -@@ -7640,6 +7659,7 @@ - - BUILD_OPTIONS="$BUILD_OPTIONS VRRP_VMAC" - fi -+ CPPFLAGS="$SAV_CPPFLAGS" - fi - if test $VRRP_SUPPORT = Yes; then - WITH_VRRP_TRUE= -@@ -7713,7 +7733,8 @@ - - - # Introduced in Linux 2.6.19 --CPPFLAGS="$kernelinc" -+SAV_CPPFLAGS="$CPPFLAGS" -+CPPFLAGS="$CPPFLAGS $kernelinc" - ac_fn_c_check_decl "$LINENO" "FRA_SRC" "ac_cv_have_decl_FRA_SRC" "#include - #include - " -@@ -7739,8 +7760,10 @@ - FIB_ROUTING_FALSE= - fi - -+CPPFLAGS="$SAV_CPPFLAGS" - --CPPFLAGS="$kernelinc" -+SAV_CPPFLAGS="$CPPFLAGS" -+CPPFLAGS="$CPPFLAGS $kernelinc" - if test ${MACVLAN_SUPPORT} = Yes; then - # Introduced in Linux 3.17 - ac_fn_c_check_decl "$LINENO" "IFLA_INET6_ADDR_GEN_MODE" "ac_cv_have_decl_IFLA_INET6_ADDR_GEN_MODE" " -@@ -7763,6 +7786,7 @@ - fi - - fi -+CPPFLAGS="$SAV_CPPFLAGS" - - SNMP_SUPPORT=No - SNMP_KEEPALIVED_SUPPORT=No -@@ -7883,8 +7907,10 @@ - NETSNMP_LIBS="$NETSNMP_LIBS_AGENT $NETSNMP_LIBS_EXT" - NETSNMP_CFLAGS="`${NETSNMP_CONFIG} --base-cflags` -DNETSNMP_NO_INLINE" - -- CFLAGS="${NETSNMP_CFLAGS}" -- LIBS="${NETSNMP_LIBS}" -+ SAV_CFLAGS="$CFLAGS" -+ CFLAGS="$CFLAGS ${NETSNMP_CFLAGS}" -+ SAV_LIBS="$LIBS" -+ LIBS="$LIBS ${NETSNMP_LIBS}" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler supports flag \"${NETSNMP_CFLAGS} ${NETSNMP_LIBS}\" from Net-SNMP" >&5 - $as_echo_n "checking whether C compiler supports flag \"${NETSNMP_CFLAGS} ${NETSNMP_LIBS}\" from Net-SNMP... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -@@ -7928,7 +7954,8 @@ - - # check for net-snmp headers - # Some ancient distributions may miss header -- CPPFLAGS="$NETSNMP_CFLAGS" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $NETSNMP_CFLAGS" - for ac_header in net-snmp/agent/agent_sysORTable.h net-snmp/agent/snmp_vars.h net-snmp/agent/util_funcs.h - do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -@@ -8000,8 +8027,9 @@ - as_fn_error $? "CHECKER SNMP support requires checker" "$LINENO" 5 - fi - -- unset LIBS -- unset CFLAGS -+ CPPFLAGS="$SAV_CPPFLAGS" -+ CFLAGS="$SAV_CFLAGS" -+ LIBS="$SAV_LIBS" - fi - - if test $SNMP_SUPPORT = Yes; then -@@ -8183,7 +8211,8 @@ - - fi - --CFLAGS=-D_GNU_SOURCE -+SAV_CFLAGS="$CFLAGS" -+CFLAGS="$CFLAGS -D_GNU_SOURCE" - ac_fn_c_check_decl "$LINENO" "CLONE_NEWNET" "ac_cv_have_decl_CLONE_NEWNET" "#include - " - if test "x$ac_cv_have_decl_CLONE_NEWNET" = xyes; then : -@@ -8207,6 +8236,7 @@ - fi - done - -+CFLAGS="$SAV_CFLAGS" - if test $ac_cv_have_decl_CLONE_NEWNET = yes; then - WITH_NAMESPACES_TRUE= - WITH_NAMESPACES_FALSE='#' diff --git a/fix-checksum-VRRPv3-unicast.patch b/fix-checksum-VRRPv3-unicast.patch new file mode 100644 index 0000000..2a228bf --- /dev/null +++ b/fix-checksum-VRRPv3-unicast.patch @@ -0,0 +1,43 @@ +From 67275d23aaef66c8b0ab854db93a1a3dd0e5124e Mon Sep 17 00:00:00 2001 +From: Quentin Armitage +Date: Thu, 31 Aug 2017 08:56:37 +0100 +Subject: [PATCH] Fix calculation of checksum for VRRPv3 IPv4 unicast peers + +Alternate unicast peers were being sent adverts with the checksum +set to 0. The reason for this was that the checksum field was not +being set to 0 before the checksum calculation, hence causing the +calculated checksum to be 0 for the second, fourth, sixth etc +unicast peer. + +Signed-off-by: Quentin Armitage +--- + keepalived/vrrp/vrrp.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/keepalived/vrrp/vrrp.c b/keepalived/vrrp/vrrp.c +index a297c5e..0813a00 100644 +--- a/keepalived/vrrp/vrrp.c ++++ b/keepalived/vrrp/vrrp.c +@@ -965,6 +965,10 @@ vrrp_build_vrrp_v3(vrrp_t *vrrp, uint8_t prio, char *buffer) + hd->naddr = (uint8_t)((!LIST_ISEMPTY(vrrp->vip)) ? LIST_SIZE(vrrp->vip) : 0); + hd->v3.adver_int = htons((vrrp->adver_int / TIMER_CENTI_HZ) & 0x0FFF); /* interval in centiseconds, reserved bits zero */ + ++ /* For IPv4 to calculate the checksum, the value must start as 0. ++ * For IPv6, the kernel will update checksum field. */ ++ hd->chksum = 0; ++ + /* Family specific */ + if (vrrp->family == AF_INET) { + /* copy the ip addresses */ +@@ -994,8 +998,6 @@ vrrp_build_vrrp_v3(vrrp_t *vrrp, uint8_t prio, char *buffer) + ip6arr[i++] = ip_addr->u.sin6_addr; + } + } +- /* Kernel will update checksum field. let it be 0 now. */ +- hd->chksum = 0; + } + + return 0; +-- +2.9.5 + diff --git a/fix-conditional-compilation.patch b/fix-conditional-compilation.patch new file mode 100644 index 0000000..8a622f7 --- /dev/null +++ b/fix-conditional-compilation.patch @@ -0,0 +1,26 @@ +From 8228f6eea861ca293a868dee06c564756009785c Mon Sep 17 00:00:00 2001 +From: Quentin Armitage +Date: Tue, 15 Aug 2017 20:38:42 +0100 +Subject: [PATCH] Fix sense of a conditional compilation check + +Signed-off-by: Quentin Armitage +--- + keepalived/vrrp/vrrp_scheduler.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/keepalived/vrrp/vrrp_scheduler.c b/keepalived/vrrp/vrrp_scheduler.c +index 48acd11..9d33a62 100644 +--- a/keepalived/vrrp/vrrp_scheduler.c ++++ b/keepalived/vrrp/vrrp_scheduler.c +@@ -661,7 +661,7 @@ vrrp_backup(vrrp_t * vrrp, char *buffer, ssize_t len) + + static void + vrrp_become_master(vrrp_t * vrrp, +-#ifdef _WITH_VRRP_AUTH_ ++#ifndef _WITH_VRRP_AUTH_ + __attribute__((unused)) + #endif + char *buffer, __attribute__((unused)) ssize_t len) +-- +2.9.5 + diff --git a/generate-readme.patch b/generate-readme.patch new file mode 100644 index 0000000..3f40028 --- /dev/null +++ b/generate-readme.patch @@ -0,0 +1,249 @@ +From 3b83f50634061216eda32a1dbc5601f1b69d7d60 Mon Sep 17 00:00:00 2001 +From: Quentin Armitage +Date: Fri, 1 Sep 2017 14:14:25 +0100 +Subject: [PATCH] Generate README from README.md + +Signed-off-by: Quentin Armitage +--- + .gitignore | 1 + + Makefile.am | 13 ++++++++ + Makefile.in | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++---------- + 3 files changed, 100 insertions(+), 16 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index fecba88..c706ffb 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -8,6 +8,9 @@ export DEBUG_CFLAGS + export DEBUG_CPPFLAGS + export DEBUG_LDFLAGS + ++edit = echo " EDIT $@"; \ ++ sed -e "/^\[\!\[/d" ++ + SUBDIRS = lib keepalived doc + + if BUILD_GENHASH +@@ -18,12 +21,22 @@ SUBDIRS += bin_install + + EXTRA_DIST = AUTHOR CONTRIBUTORS snap README.md + ++doc_DATA = README ++ ++MOSTLYCLEANFILES = README ++ + MAINTAINERCLEANFILES = @MAINTAINERCLEANFILES@ + ++README: $(srcdir)/README.md ++ @$(edit) '$(srcdir)/$@.md' >$@ ++ + distclean-local: + @rm -f aclocal.m4 ar-lib compile depcomp missing keepalived-$(VERSION).tar.gz config.log config.status + @rm -rf autom4te.cache + ++dist-hook: ++ @rm -f $(distdir)/README ++ + .PHONY: docker + docker: + docker build -t keepalived . +diff --git a/Makefile.in b/Makefile.in +index 896845a..9daefec 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -19,6 +19,7 @@ + # Keepalived OpenSource project. + # + # Copyright (C) 2001-2016 Alexandre Cassen, ++ + VPATH = @srcdir@ + am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ +@@ -132,6 +133,35 @@ am__can_run_installinfo = \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac ++am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; ++am__vpath_adj = case $$p in \ ++ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ ++ *) f=$$p;; \ ++ esac; ++am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; ++am__install_max = 40 ++am__nobase_strip_setup = \ ++ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` ++am__nobase_strip = \ ++ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" ++am__nobase_list = $(am__nobase_strip_setup); \ ++ for p in $$list; do echo "$$p $$p"; done | \ ++ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ ++ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ ++ if (++n[$$2] == $(am__install_max)) \ ++ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ ++ END { for (dir in files) print dir, files[dir] }' ++am__base_list = \ ++ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ ++ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' ++am__uninstall_files_from_dir = { \ ++ test -z "$$files" \ ++ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ ++ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ ++ $(am__cd) "$$dir" && rm -f $$files; }; \ ++ } ++am__installdirs = "$(DESTDIR)$(docdir)" ++DATA = $(doc_DATA) + RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive + am__recursive_targets = \ +@@ -162,7 +192,7 @@ CTAGS = ctags + CSCOPE = cscope + DIST_SUBDIRS = lib keepalived doc genhash bin_install + am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/keepalived.spec.in \ +- COPYING ChangeLog INSTALL TODO ar-lib compile depcomp \ ++ COPYING ChangeLog INSTALL README TODO ar-lib compile depcomp \ + install-sh missing + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + distdir = $(PACKAGE)-$(VERSION) +@@ -314,8 +344,13 @@ target_alias = @target_alias@ + top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ ++edit = echo " EDIT $@"; \ ++ sed -e "/^\[\!\[/d" ++ + SUBDIRS = lib keepalived doc $(am__append_1) bin_install + EXTRA_DIST = AUTHOR CONTRIBUTORS snap README.md ++doc_DATA = README ++MOSTLYCLEANFILES = README + DISTCHECK_CONFIGURE_FLAGS = \ + --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) + +@@ -357,6 +392,27 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps) + $(am__aclocal_m4_deps): + keepalived.spec: $(top_builddir)/config.status $(srcdir)/keepalived.spec.in + cd $(top_builddir) && $(SHELL) ./config.status $@ ++install-docDATA: $(doc_DATA) ++ @$(NORMAL_INSTALL) ++ @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ ++ if test -n "$$list"; then \ ++ echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \ ++ $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \ ++ fi; \ ++ for p in $$list; do \ ++ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ ++ echo "$$d$$p"; \ ++ done | $(am__base_list) | \ ++ while read files; do \ ++ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \ ++ $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \ ++ done ++ ++uninstall-docDATA: ++ @$(NORMAL_UNINSTALL) ++ @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ ++ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ ++ dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir) + + # This directory's subdirectories are mostly independent; you can cd + # into them and run 'make' without going through this Makefile. +@@ -521,6 +577,9 @@ distdir: $(DISTFILES) + || exit 1; \ + fi; \ + done ++ $(MAKE) $(AM_MAKEFLAGS) \ ++ top_distdir="$(top_distdir)" distdir="$(distdir)" \ ++ dist-hook + -test -n "$(am__skip_mode_fix)" \ + || find "$(distdir)" -type d ! -perm -755 \ + -exec chmod u+rwx,go+rx {} \; -o \ +@@ -654,9 +713,12 @@ distcleancheck: distclean + exit 1; } >&2 + check-am: all-am + check: check-recursive +-all-am: Makefile ++all-am: Makefile $(DATA) + installdirs: installdirs-recursive + installdirs-am: ++ for dir in "$(DESTDIR)$(docdir)"; do \ ++ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ ++ done + install: install-recursive + install-exec: install-exec-recursive + install-data: install-data-recursive +@@ -677,6 +739,7 @@ install-strip: + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi + mostlyclean-generic: ++ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) + + clean-generic: + +@@ -710,7 +773,7 @@ info: info-recursive + + info-am: + +-install-data-am: ++install-data-am: install-docDATA + + install-dvi: install-dvi-recursive + +@@ -756,25 +819,26 @@ ps: ps-recursive + + ps-am: + +-uninstall-am: ++uninstall-am: uninstall-docDATA + + .MAKE: $(am__recursive_targets) install-am install-strip + + .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ + am--refresh check check-am clean clean-cscope clean-generic \ + clean-local cscope cscopelist-am ctags ctags-am dist dist-all \ +- dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ dist-xz \ +- dist-zip distcheck distclean distclean-generic distclean-local \ +- distclean-tags distcleancheck distdir distuninstallcheck dvi \ +- dvi-am html html-am info info-am install install-am \ +- install-data install-data-am install-dvi install-dvi-am \ +- install-exec install-exec-am install-html install-html-am \ +- install-info install-info-am install-man install-pdf \ +- install-pdf-am install-ps install-ps-am install-strip \ +- installcheck installcheck-am installdirs installdirs-am \ +- maintainer-clean maintainer-clean-generic mostlyclean \ +- mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ +- uninstall-am ++ dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar dist-tarZ \ ++ dist-xz dist-zip distcheck distclean distclean-generic \ ++ distclean-local distclean-tags distcleancheck distdir \ ++ distuninstallcheck dvi dvi-am html html-am info info-am \ ++ install install-am install-data install-data-am \ ++ install-docDATA install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-pdf install-pdf-am \ ++ install-ps install-ps-am install-strip installcheck \ ++ installcheck-am installdirs installdirs-am maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ ++ pdf-am ps ps-am tags tags-am uninstall uninstall-am \ ++ uninstall-docDATA + + .PRECIOUS: Makefile + +@@ -783,10 +847,16 @@ export DEBUG_CFLAGS + export DEBUG_CPPFLAGS + export DEBUG_LDFLAGS + ++README: $(srcdir)/README.md ++ @$(edit) '$(srcdir)/$@.md' >$@ ++ + distclean-local: + @rm -f aclocal.m4 ar-lib compile depcomp missing keepalived-$(VERSION).tar.gz config.log config.status + @rm -rf autom4te.cache + ++dist-hook: ++ @rm -f $(distdir)/README ++ + .PHONY: docker + docker: + docker build -t keepalived . +-- +2.9.5 + diff --git a/keepalived.spec b/keepalived.spec index 5639d53..b01b217 100644 --- a/keepalived.spec +++ b/keepalived.spec @@ -8,8 +8,8 @@ Name: keepalived Summary: High Availability monitor built upon LVS, VRRP and service pollers -Version: 1.3.5 -Release: 3%{?dist} +Version: 1.3.6 +Release: 1%{?dist} License: GPLv2+ URL: http://www.keepalived.org/ Group: System Environment/Daemons @@ -17,6 +17,11 @@ Group: System Environment/Daemons Source0: http://www.keepalived.org/software/keepalived-%{version}.tar.gz Source1: keepalived.service +Patch0: generate-readme.patch +Patch1: fix-checksum-VRRPv3-unicast.patch +Patch2: fix-conditional-compilation.patch + + Requires(post): systemd Requires(preun): systemd Requires(postun): systemd @@ -48,6 +53,9 @@ infrastructures. %prep %setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 %build %configure \ @@ -99,6 +107,9 @@ rm -rf %{buildroot} %{_mandir}/man8/keepalived.8* %changelog +* Mon Sep 11 2017 Ryan O'Hara - 1.3.6-1 +- Update to 1.3.6 (#1481471) + * Thu Aug 03 2017 Fedora Release Engineering - 1.3.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild