[OE-core] [PATCH] libevent: enable OpenSSL unconditionally and update packaging

André Draszik git at andred.net
Thu Nov 7 14:01:24 UTC 2019


On Thu, 2019-11-07 at 13:26 +0100, Alexander Kanavin wrote:
> I would rather keep the option to disable openssl, but simply switch it on by default

Why complicate things, what's the use-case? If libevent_openssl.so is not
used by anything, that library will not be pulled in, as it is a
separate package now.

Cheers,
A.


> .
> 
> Alex
> 
> On Thu, 7 Nov 2019 at 13:11, André Draszik <git at andred.net> wrote:
> > The original commit describes the reason for disabling openssl
> > so as to get 'more deterministic build[s]' and size-reduction:
> > commit 6c36fde6ce2e ("libevent: disable openssl by default"),
> > commit ad130b97a51a in poky.
> > 
> > Since the introduction of per-recipe sysroots, we always have
> > deterministic builds.
> > 
> > Size reduction can be achieved by splitting the package into
> > multiple sub-packages, which each only provide one of the
> > shared libraries.
> > 
> > Hence there appears no reason anymore to disable OpenSSL
> > support.
> > 
> > Because this recipe only provides shared libraries which are
> > handled automatically by bitbake, there is no need to add
> > the subpackages to the RDEPENDS of PN for backwards
> > compatibility. The packageing 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.
> > 
> > These changes also allow us to build all of nghttp2
> > out-of-the-box, without affecting existing users.
> > 
> > Signed-off-by: André Draszik <git at andred.net>
> > ---
> >  meta/recipes-support/libevent/libevent_2.1.11.bb | 13 +++++++++----
> >  1 file changed, 9 insertions(+), 4 deletions(-)
> > 
> > diff --git a/meta/recipes-support/libevent/libevent_2.1.11.bb b/meta/recipes-support/libevent/libevent_2.1.11.bb
> > index f005ab8bda..c746f22118 100644
> > --- a/meta/recipes-support/libevent/libevent_2.1.11.bb
> > +++ b/meta/recipes-support/libevent/libevent_2.1.11.bb
> > @@ -19,9 +19,6 @@ UPSTREAM_CHECK_URI = "http://libevent.org/"
> > 
> >  S = "${WORKDIR}/${BPN}-${PV}-stable"
> > 
> > -PACKAGECONFIG ??= ""
> > -PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
> > -
> >  inherit autotools
> > 
> >  # Needed for Debian packaging
> > @@ -29,11 +26,19 @@ LEAD_SONAME = "libevent-2.1.so"
> > 
> >  inherit ptest multilib_header
> > 
> > -DEPENDS = "zlib"
> > +DEPENDS = "openssl zlib"
> > +
> > +PACKAGES =+ "${PN}-core ${PN}-extra ${PN}-openssl ${PN}-pthreads"
> > +FILES_${PN}-core = "${libdir}/libevent_core*${SOLIBS}"
> > +FILES_${PN}-extra = "${libdir}/libevent_extra*${SOLIBS}"
> > +FILES_${PN}-openssl = "${libdir}/libevent_openssl*${SOLIBS}"
> > +FILES_${PN}-pthreads = "${libdir}/libevent_pthreads-*${SOLIBS}"
> > 
> >  BBCLASSEXTEND = "native nativesdk"
> > 
> >  do_install_append() {
> > +       rm ${D}${bindir}/event_rpcgen.py
> > +       rmdir ${D}${bindir}
> >          oe_multilib_header event2/event-config.h
> >  }
> > 
> > -- 
> > 2.23.0.rc1
> > 



More information about the Openembedded-core mailing list