The final word on this topic: the current released version of SWUpdate is broken in case the user set systemd as an option in menuconfig. The SWUpdate receipe does not account for systemd in DEPENDS when systemd is selected in SWudpate menuconfig (see new fix below). Without this extra step, my build is not able to find the proper header file in the staging area. The code related to "notify" written recently will demand for sd-deamon.h header that is not available. Adding this fix allow for flawless build including some of the code to do the "notify" to systemd. It is a small addition in the swupdate.inc file that should be dependent on the menuconfig selection. Now, I understand systemd is not supported by default by SWUdpate, so this modification should be dependent upon the user choice.
SUMMARY="Image updater for Yocto projects"
DESCRIPTION = "Application for automatic software update from USB Pen"
SECTION="swupdate"
DEPENDS += "libconfig zlib"
# SWUpdate licensing is described in the following pages:
#
https://sbabic.github.io/swupdate/licensing.html# rst form: file://doc/source/licensing.rst
LICENSE = "GPL-2.0-or-later & LGPL-2.1-only & MIT"
LICENSE:${PN}-lua = "LGPL-2.1-only"
LICENSE:${PN}-www = "MIT"
LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0-only.txt;md5=4ee23c52855c222cba72583d301d2338 \
file://LICENSES/LGPL-2.1-or-later.txt;md5=4fbd65380cdd255951079008b364516c \
file://LICENSES/MIT.txt;md5=838c366f69b72c5df05c96dff79b35f2 \
file://LICENSES/BSD-3-Clause.txt;md5=4a1190eac56a9db675d58ebe86eaf50c"
inherit cml1 update-rc.d systemd pkgconfig
SRC_URI = "git://
github.com/sbabic/swupdate.git;protocol=https;branch=master \
file://defconfig \
file://swupdate \
file://swupdate.sh \
file://swupdate.service \
file://swupdate.socket.tmpl \
file://swupdate-usb.rules \
file://swupdate-usb@.service \
file://swupdate-progress.service \
file://tmpfiles-swupdate.conf \
file://10-mongoose-args \
file://90-start-progress \
"
LTOEXTRA += "-flto-partition=none"
PACKAGES =+ " \
${PN}-client \
${PN}-lua \
${PN}-progress \
${PN}-tools \
${PN}-tools-hawkbit \
${PN}-tools-ipc \
${PN}-usb \
${PN}-www \
"
INSANE_SKIP:${PN}-lua = "dev-so"
wwwdir ?= "/www"
# tools is now an empty meta package for backward compatibility
ALLOW_EMPTY:${PN}-tools = "1"
ALLOW_EMPTY:${PN}-tools-hawkbit = "1"
ALLOW_EMPTY:${PN}-tools-ipc = "1"
FILES:${PN}-client = "${bindir}/swupdate-client"
FILES:${PN}-lua += "${libdir}/lua/"
FILES:${PN}-progress = " \
${bindir}/swupdate-progress \
${systemd_system_unitdir}/swupdate-progress.service \
${libdir}/swupdate/conf.d/90-start-progress \
"
FILES:${PN}-usb = " \
${sysconfdir}/udev/rules.d/swupdate-usb.rules \
${systemd_system_unitdir}/swupdate-usb@.service \
"
FILES:${PN}-tools-hawkbit = " \
${bindir}/swupdate-hawkbitcfg \
${bindir}/swupdate-sendtohawkbit \
"
FILES:${PN}-tools-ipc = " \
${bindir}/swupdate-ipc \
"
FILES:${PN} += " \
${libdir}/tmpfiles.d \
${libdir}/swupdate/* \
${systemd_system_unitdir}/swupdate.socket \
${systemd_system_unitdir}/swupdate.service \
${sysconfdir}/init.d/* \
"
FILES:${PN}-www = " \
${libdir}/swupdate/conf.d/*mongoose* \
${wwwdir}/* \
"
RDEPENDS:${PN}-usb += "${PN}-client"
# The tools package is deprecated, it is an empty meta package for backward compatibility
RDEPENDS:${PN}-tools += "${PN}-client ${PN}-progress ${PN}-tools-hawkbit \
${@bb.utils.contains('DISTRO_FEATURES','systemd','${PN}-usb','',d)} \
"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build"
EXTRA_OEMAKE += " O=${B} HOSTCC="${BUILD_CC}" HOSTCXX="${BUILD_CXX}" LD="${CC}" DESTDIR="${D}" LIBDIR="${libdir}" V=1 ARCH=${TARGET_ARCH} CROSS_COMPILE=${TARGET_PREFIX} SKIP_STRIP=y"
DEPENDS += "kern-tools-native
systemd" <<<<<<<<<<<<<<FIX
....