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
>
prev parent 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