diff --git a/quagga/Makefile b/quagga/Makefile index e2751f4..29af28b 100644 --- a/quagga/Makefile +++ b/quagga/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=quagga PKG_VERSION:=1.1.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_HASH:=f7a43a9c59bfd3722002210530b2553c8d5cc05bfea5acd56d4f102b9f55dc63 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz diff --git a/quagga/patches/200-gcc10.patch b/quagga/patches/200-gcc10.patch new file mode 100644 index 0000000..3a05255 --- /dev/null +++ b/quagga/patches/200-gcc10.patch @@ -0,0 +1,60 @@ +--- a/lib/prefix.h ++++ b/lib/prefix.h +@@ -44,7 +44,7 @@ + */ + struct ethaddr { + u_char octet[ETHER_ADDR_LEN]; +-} __packed; ++} __attribute__((packed)); + + + /* +--- a/pimd/pimd.h ++++ b/pimd/pimd.h +@@ -74,25 +74,25 @@ const char *const PIM_ALL_PIM_ROUTERS; + const char *const PIM_ALL_IGMP_ROUTERS; + + struct thread_master *master; +-uint32_t qpim_debugs; +-int qpim_mroute_socket_fd; ++extern uint32_t qpim_debugs; ++extern int qpim_mroute_socket_fd; + int64_t qpim_mroute_socket_creation; /* timestamp of creation */ + struct thread *qpim_mroute_socket_reader; +-int qpim_mroute_oif_highest_vif_index; +-struct list *qpim_channel_oil_list; /* list of struct channel_oil */ +-struct in_addr qpim_all_pim_routers_addr; ++extern int qpim_mroute_oif_highest_vif_index; ++extern struct list *qpim_channel_oil_list; /* list of struct channel_oil */ ++extern struct in_addr qpim_all_pim_routers_addr; + int qpim_t_periodic; /* Period between Join/Prune Messages */ +-struct list *qpim_upstream_list; /* list of struct pim_upstream */ ++extern struct list *qpim_upstream_list; /* list of struct pim_upstream */ + struct zclient *qpim_zclient_update; + struct zclient *qpim_zclient_lookup; +-struct pim_assert_metric qpim_infinite_assert_metric; ++extern struct pim_assert_metric qpim_infinite_assert_metric; + long qpim_rpf_cache_refresh_delay_msec; + struct thread *qpim_rpf_cache_refresher; +-int64_t qpim_rpf_cache_refresh_requests; +-int64_t qpim_rpf_cache_refresh_events; +-int64_t qpim_rpf_cache_refresh_last; +-struct in_addr qpim_inaddr_any; +-struct list *qpim_ssmpingd_list; /* list of struct ssmpingd_sock */ ++extern int64_t qpim_rpf_cache_refresh_requests; ++extern int64_t qpim_rpf_cache_refresh_events; ++extern int64_t qpim_rpf_cache_refresh_last; ++extern struct in_addr qpim_inaddr_any; ++extern struct list *qpim_ssmpingd_list; /* list of struct ssmpingd_sock */ + struct in_addr qpim_ssmpingd_group_addr; + int64_t qpim_scan_oil_events; + int64_t qpim_scan_oil_last; +@@ -100,7 +100,7 @@ int64_t qpim_mroute_add_events; + int64_t qpim_mroute_add_last; + int64_t qpim_mroute_del_events; + int64_t qpim_mroute_del_last; +-struct list *qpim_static_route_list; /* list of routes added statically */ ++extern struct list *qpim_static_route_list; /* list of routes added statically */ + + #define PIM_JP_HOLDTIME (qpim_t_periodic * 7 / 2) +