]> code.ossystems Code Review - openembedded-core.git/commitdiff
libevent: update packaging (one package per shared library)
authorAndré Draszik <git@andred.net>
Thu, 7 Nov 2019 15:36:39 +0000 (15:36 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 10 Nov 2019 14:04:55 +0000 (14:04 +0000)
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.

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-support/libevent/libevent_2.1.11.bb

index f005ab8bda08691d54377826b4b2bca0f05f24b3..8c7c49e7ddd733945fb1cea1fda0538df9d4b03b 100644 (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
 }