Please rebase it on top of master-next and resend. On Mon, Mar 16, 2026 at 12:23 PM Dan McGregor via lists.openembedded.org <[email protected]> wrote:
> From: Dan McGregor <[email protected]> > > Use this recipe to break a circular dependency between libfido2 and > systemd when systemd's fido PACKAGECONFIG is enabled. systemd depends > on libfido2, and libfido2 depends on udev provided by systemd. However, > systemd only depends on the headers provided by libfido2 and its pkgconf > data. systemd uses only the datatypes provided, and opportunistically > enables fido support if libfido2 is found. > > This recipe provides only the headers and pkgconf data. This is > sufficient to allow systemd to build support for libfido2. > > It only works with a related change I've submitted to openembedded core. > > Signed-off-by: Dan McGregor <[email protected]> > --- > .../libfido2/libfido2-initial_1.16.0.bb | 40 +++++++++++++++++++ > 1 file changed, 40 insertions(+) > create mode 100644 meta-oe/recipes-support/libfido2/ > libfido2-initial_1.16.0.bb > > diff --git a/meta-oe/recipes-support/libfido2/libfido2-initial_1.16.0.bb > b/meta-oe/recipes-support/libfido2/libfido2-initial_1.16.0.bb > new file mode 100644 > index 00000000000..7d9838b003b > --- /dev/null > +++ b/meta-oe/recipes-support/libfido2/libfido2-initial_1.16.0.bb > @@ -0,0 +1,40 @@ > +SUMMARY = "FIDO 2.0 support library" > +DESCRIPTION = "libfido2 provides library functionality and command-line > tools to \ > +communicate with a FIDO device over USB, and to verify attestation and \ > +assertion signatures." > +HOMEPAGE = "https://developers.yubico.com/libfido2" > +LICENSE = "BSD-2-Clause" > +SECTION = "libs/network" > + > +LIC_FILES_CHKSUM = "file://LICENSE;md5=20be19aaa222f71738712b26f7f8717b" > + > +SRC_URI = " > https://developers.yubico.com/${BPN}/Releases/${BPN}-${PV}.tar.gz" > +SRC_URI[sha256sum] = > "8c2b6fb279b5b42e9ac92ade71832e485852647b53607c43baaafbbcecea04e4" > + > +inherit nopackages > + > +PACKAGES = "" > + > +# The purpose of this recipe is to break a circular dependency between > libfido2 and > +# systemd. libfido2 depends on udev (provided by systemd) to build, while > systemd > +# depends on libfido2 if the fido feature is enabled. However, systemd > doesn't > +# actually link against libfido2. It only needs the headers in place and > a dummy > +# shared library. It opportunistically dlopens libfido2 if it's present, > but > +# for that to work it needs the headers in place. > +# Just fake enough to make systemd happy, and have it RRECOMMEND the real > libfido2. > +do_install() { > + mkdir -p ${D}${includedir}/libfido2-initial/fido > + mkdir -p ${D}${datadir}/pkgconfig > + > + install -m 644 ${S}/src/fido.h ${D}${includedir}/libfido2-initial > + install -m 644 ${S}/src/fido/* > ${D}${includedir}/libfido2-initial/fido/ > + > + # Real libfido2 installs its pkg conf file in ${libdir}. > + sed -e 's,@CMAKE_INSTALL_PREFIX@,${exec_prefix},' \ > + -e 's,@CMAKE_INSTALL_LIBDIR@,${baselib}/libfido2-initial,' \ > + -e 's,@FIDO_VERSION@,${PV},' \ > + -e 's,@PROJECT_NAME@,${BPN},' \ > + -e '/^Cflags/s,$,/libfido2-initial,' \ > + ${S}/src/libfido2.pc.in > ${D}${datadir}/pkgconfig/libfido2.pc > + > +} > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#125292): https://lists.openembedded.org/g/openembedded-devel/message/125292 Mute This Topic: https://lists.openembedded.org/mt/118351906/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
