Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Khem Raj <raj.khem@gmail.com>
To: Martin Jansa <martin.jansa@gmail.com>
Cc: Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH] dnf, libdnf: Ignore if PACKAGE_CLASSES does not have rpm
Date: Wed, 12 Feb 2020 09:18:04 -0800	[thread overview]
Message-ID: <e9357257-9104-61a7-e85a-64dd368ebb96@gmail.com> (raw)
In-Reply-To: <CA+chaQevfESVZc2ee2p_Y7bJHOc=M54nWEzE4erb2+zJMFzjFA@mail.gmail.com>

On 2/12/20 8:32 AM, Martin Jansa wrote:
> Will this work for you without anonymous python? I think it should.
> 
> PNBLACKLIST[dnf] ?= "${@oe.utils.conditional('PACKAGE_CLASSES', 
> 'package_rpm', '' 'does not build correctly without package_rpm in 
> PACKAGE_CLASSES', d)}"

I like this better than anon python. Perhaps worth it in a v2

> 
> On Wed, Feb 12, 2020 at 4:12 PM Khem Raj <raj.khem@gmail.com 
> <mailto:raj.khem@gmail.com>> wrote:
> 
>     On Tue, Feb 11, 2020 at 11:11 PM Alexander Kanavin
>     <alex.kanavin@gmail.com <mailto:alex.kanavin@gmail.com>> wrote:
>      >
>      > Please let’s try to avoid anonymous python. What problem does
>     this solve? If package_rpm is not enabled, then there should not be
>     a dependency chain that builds these anyway.
> 
>     for non rpm backend opkg, rpm is pulled in which is not desired
>     because opkg depends on libsolv
>     and libsolv by default depends on rpm which I sent another patch to
>     decouple, This caused opkg images to fail tests because testing infra
>     found rpm in the image and ran tests for it which obviously would
>     fail.
> 
>       libsolv does have rpm support as packageconfig but when that
>     is disabled then libdnf does not build anymore since it expects rpmdb
>     support in libsolv.
> 
>     so when we do world builds with opkg as package management then dnf
>     and libdbf starts to fail
>     due to their RPM needs.
> 
>     IF there was an override to identity packaging backends then we could
>     have used that
> 
>     If you have better suggestions to avoid anon python here, I am all ears.
> 
>      >
>      > Alex
>      >
>      > On Wed 12. Feb 2020 at 6.20, Khem Raj <raj.khem@gmail.com
>     <mailto:raj.khem@gmail.com>> wrote:
>      >>
>      >> dnf does not work with opkg or dpkg/apt anyway
>      >>
>      >> Signed-off-by: Khem Raj <raj.khem@gmail.com
>     <mailto:raj.khem@gmail.com>>
>      >> ---
>      >>  meta/recipes-devtools/dnf/dnf_4.2.2.bb <http://dnf_4.2.2.bb>   
>          | 8 ++++++++
>      >>  meta/recipes-devtools/libdnf/libdnf_0.28.1.bb
>     <http://libdnf_0.28.1.bb> | 7 +++++++
>      >>  2 files changed, 15 insertions(+)
>      >>
>      >> diff --git a/meta/recipes-devtools/dnf/dnf_4.2.2.bb
>     <http://dnf_4.2.2.bb> b/meta/recipes-devtools/dnf/dnf_4.2.2.bb
>     <http://dnf_4.2.2.bb>
>      >> index f38167f1ad..9e6d5741af 100644
>      >> --- a/meta/recipes-devtools/dnf/dnf_4.2.2.bb <http://dnf_4.2.2.bb>
>      >> +++ b/meta/recipes-devtools/dnf/dnf_4.2.2.bb <http://dnf_4.2.2.bb>
>      >> @@ -84,3 +84,11 @@ SYSTEMD_SERVICE_${PN} =
>     "dnf-makecache.service dnf-makecache.timer \
>      >>                           dnf-automatic-notifyonly.service
>     dnf-automatic-notifyonly.timer \
>      >>  "
>      >>  SYSTEMD_AUTO_ENABLE ?= "disable"
>      >> +
>      >> +python () {
>      >> +    pkgb = d.getVar("PACKAGE_CLASSES")
>      >> +    pkgn = d.getVar("PN")
>      >> +    pkgv = d.getVar("PV")
>      >> +    if "package_rpm" not in pkgb:
>      >> +        raise bb.parse.SkipPackage("%s-%s Needs rpmdb support
>     in libsolv" % (pkgn, pkgv))
>      >> +}
>      >> diff --git a/meta/recipes-devtools/libdnf/libdnf_0.28.1.bb
>     <http://libdnf_0.28.1.bb>
>     b/meta/recipes-devtools/libdnf/libdnf_0.28.1.bb
>     <http://libdnf_0.28.1.bb>
>      >> index 882c435b32..5c9326ca64 100644
>      >> --- a/meta/recipes-devtools/libdnf/libdnf_0.28.1.bb
>     <http://libdnf_0.28.1.bb>
>      >> +++ b/meta/recipes-devtools/libdnf/libdnf_0.28.1.bb
>     <http://libdnf_0.28.1.bb>
>      >> @@ -27,3 +27,10 @@ EXTRA_OECMAKE_append_class-nativesdk = "
>     -DWITH_GIR=OFF"
>      >>
>      >>  BBCLASSEXTEND = "native nativesdk"
>      >>
>      >> +python () {
>      >> +    pkgb = d.getVar("PACKAGE_CLASSES")
>      >> +    pkgn = d.getVar("PN")
>      >> +    pkgv = d.getVar("PV")
>      >> +    if "package_rpm" not in pkgb:
>      >> +        raise bb.parse.SkipPackage("%s-%s Needs rpmdb support
>     in libsolv" % (pkgn, pkgv))
>      >> +}
>      >> --
>      >> 2.25.0
>      >>
>      >> --
>      >> _______________________________________________
>      >> Openembedded-core mailing list
>      >> Openembedded-core@lists.openembedded.org
>     <mailto:Openembedded-core@lists.openembedded.org>
>      >> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>     -- 
>     _______________________________________________
>     Openembedded-core mailing list
>     Openembedded-core@lists.openembedded.org
>     <mailto:Openembedded-core@lists.openembedded.org>
>     http://lists.openembedded.org/mailman/listinfo/openembedded-core
> 



      reply	other threads:[~2020-02-12 17:18 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-12  5:19 [PATCH] dnf, libdnf: Ignore if PACKAGE_CLASSES does not have rpm Khem Raj
2020-02-12  7:11 ` Alexander Kanavin
2020-02-12 15:11   ` Khem Raj
2020-02-12 15:30     ` Alexander Kanavin
2020-02-12 16:32     ` Martin Jansa
2020-02-12 17:18       ` Khem Raj [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e9357257-9104-61a7-e85a-64dd368ebb96@gmail.com \
    --to=raj.khem@gmail.com \
    --cc=martin.jansa@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox