libevent: update packaging (one package per shared library)

libevent produces several libraries that might or might not
be used in the end. We can prevent those potentially unused
libraries from being pulled into a file-system by splitting
the individual shared libraries into individual packages.

Because this recipe only provides shared libraries which are
handled automatically by bitbake (shlibs), there is no need
to add the subpackages to the RDEPENDS of PN for backwards
compatibility. The packaging process of dependees will
simply pull in the sub-packages as runtime dependency as
needed.

This also how Debian splits this up.

While updating the packaging, we can also drop event_rpcgen.py
which appears to be a tool for generating rpc bindings, i.e.
something that should normally be in -dev. Given Debian
doesn't package this at all, and given it actually requires
python to run but no runtime dependency is stated at the
moment, it would appear that no users of this exist.

(From OE-Core rev: d10e8384bfa08d928dfec3a00c59006badfc88ee)

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
André Draszik
2019-11-07 15:36:39 +00:00
committed by Richard Purdie
parent b30c1f5e46
commit b3271b42c3

View File

@@ -31,9 +31,17 @@ inherit ptest multilib_header
DEPENDS = "zlib"
PACKAGES_DYNAMIC = "^${PN}-.*$"
python split_libevent_libs () {
do_split_packages(d, '${libdir}', r'^libevent_([a-z]*)-.*\.so\..*', '${PN}-%s', '${SUMMARY} (%s)', prepend=True, allow_links=True)
}
PACKAGESPLITFUNCS_prepend = "split_libevent_libs "
BBCLASSEXTEND = "native nativesdk"
do_install_append() {
rm ${D}${bindir}/event_rpcgen.py
rmdir ${D}${bindir}
oe_multilib_header event2/event-config.h
}