Excuse the delay - I was rebuilding my cluster and wanted to actually try it before sharing. I'm glad to say that the build worked, albeit without TLS support. Here are the makefiles:
#libqb
include $(TOPDIR)/rules.mk
PKG_NAME:=libqb
PKG_VERSION:=2.0.8
PKG_RELEASE:=1
PKG_SOURCE:=libqb-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/ClusterLabs/libqb/releases/download/v$(PKG_VERSION)/
PKG_HASH:=4832d0c1f12be38cbcf608585758d4a3124def253a3914b61afeebc68484311e
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
PKG_BUILD_DEPENDS:=libxml2
include $(INCLUDE_DIR)/package.mk
define Package/libqb
SECTION:=corosync
CATEGORY:=Corosync
TITLE:=libqb
DEPENDS:=+libxml2
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/qb
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/qb/* $(1)/usr/include/qb
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/lib*.so* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin
endef
define Package/libqb/install
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/lib*.so.* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin
endef
$(eval $(call BuildPackage,libqb))
#kronosnet
include $(TOPDIR)/rules.mk
PKG_NAME:=kronosnet
PKG_VERSION:=1.28
PKG_RELEASE:=1
PKG_SOURCE:=kronosnet-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/kronosnet/kronosnet/releases/download/v$(PKG_VERSION)/
PKG_HASH:=ea0d44fd7e891320378b419a38ca91c4edbcdc06e5b961aedabb4159d7e8150f
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
PKG_BUILD_DEPENDS:=openssl zstd liblz4 lzo xz bzip2 nss libqb libnl
include $(INCLUDE_DIR)/package.mk
define Package/kronosnet
SECTION:=corosync
CATEGORY:=Corosync
TITLE:=kronosnet
DEPENDS:=+libopenssl +liblz4 +liblzo +bzip2 +libnss +libnl +nspr +liblzma +libzstd
endef
define Build/Configure
$(call Build/Configure/Default, --disable-libknet-sctp --disable-man --disable-hardening)
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/lib*.so* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig
$(INSTALL_DIR) $(1)/usr/lib/kronosnet
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/kronosnet/*.so* $(1)/usr/lib/kronosnet
endef
define Package/kronosnet/install
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/lib*.so.* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/kronosnet
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/kronosnet/*.so* $(1)/usr/lib/kronosnet
endef
$(eval $(call BuildPackage,kronosnet))
Patch for Kronosnet
--- a/libknet/links.c
+++ b/libknet/links.c
@@ -896,7 +896,7 @@
if ((interval * 1000) < KNET_THREADS_TIMERES) {
log_warn(knet_h, KNET_SUB_LINK,
- "host: %u link: %u interval: %lu too small (%s). interval lower than thread_timer_res (%u ms) has no effect",
+ "host: %u link: %u interval: %llu too small (%s). interval lower than thread_timer_res (%u ms) has no effect",
host_id, link_id, interval, strerror(savederrno), (KNET_THREADS_TIMERES / 1000));
}
@@ -904,7 +904,7 @@
err = -1;
savederrno = EINVAL;
log_err(knet_h, KNET_SUB_LINK,
- "host: %u link: %u pong timeout: %lu too small (%s). timeout cannot be less than thread_timer_res (%u ms)",
+ "host: %u link: %u pong timeout: %llu too small (%s). timeout cannot be less than thread_timer_res (%u ms)",
host_id, link_id, timeout, strerror(savederrno), (KNET_THREADS_TIMERES / 1000));
goto exit_unlock;
}
#corosync
include $(TOPDIR)/rules.mk
PKG_NAME:=corosync
PKG_VERSION:=3.1.8
PKG_RELEASE:=1
PKG_SOURCE:=corosync-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/corosync/corosync/releases/download/v$(PKG_VERSION)/
PKG_HASH:=7023544fa3bb36c00bbcabd9935b7269b41d896738a108ed32ea9b9c9b27ec3d
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
PKG_BUILD_DEPENDS:=libqb kronosnet
include $(INCLUDE_DIR)/package.mk
define Package/corosync
SECTION:=corosync
CATEGORY:=Corosync
TITLE:=Corosync
DEPENDS:=+kronosnet +libqb
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/corosync
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/corosync/* $(1)/usr/include/corosync/
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/lib*.so* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin
endef
define Package/corosync/install
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/lib*.so* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin
endef
$(eval $(call BuildPackage,corosync))
#corosync-qdevice
include $(TOPDIR)/rules.mk
PKG_NAME:=corosync-qdevice
PKG_VERSION:=3.0.3
PKG_RELEASE:=1
PKG_SOURCE:=corosync-qdevice-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/corosync/corosync-qdevice/releases/download/v$(PKG_VERSION)/
PKG_HASH:=0a4705abd17af795287ad3bb18c0abacf3c0027222e45f149cb9bebeb6056926
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
PKG_BUILD_DEPENDS:=nss corosync
include $(INCLUDE_DIR)/package.mk
define Package/corosync-qdevice
SECTION:=corosync
CATEGORY:=Corosync
TITLE:=Corosync Qdevice
DEPENDS:=+corosync +libnss
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/share/pkgconfig
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/pkgconfig/corosync-qdevice.pc $(1)/usr/share/pkgconfig
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin
endef
define Package/corosync-qdevice/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin
endef
$(eval $(call BuildPackage,corosync-qdevice))
Have fun!