<div><br></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Feb 12, 2020 at 11:53 PM Alexander Kanavin <<a href="mailto:alex.kanavin@gmail.com">alex.kanavin@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div dir="auto">World builds also enable apt and dpkg, but there is no problem with that for you? There is no consistency here; if you want to start excluding things from world based on what packaging is enabled, you need to treat all options equally, including deb and ipk.</div></div></blockquote><div dir="auto"><br></div><div dir="auto">No, problem is that if One wants to use opkg backend then rpm drags along but apt or dpkg don’t</div><div dir="auto">World builds are also problem but secondary</div><div dir="auto">Please try to understand the entirety of problem </div><div dir="auto"><br></div><div dir="auto">I tried everything to keep it building but i could not and I have been saying that all along</div><div dir="auto"><br></div><div dir="auto">If you can come up with patches to dnf to build with libresolv that is not build with rpm support we might get to built however I don’t think it will of any use at runtime</div><div dir="auto"> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div dir="auto"></div></div><div dir="auto"><br></div><div dir="auto">The original problem was that libsolv pulls in the full set of rpm executables and libraries, which erroneously triggers the rpm test on target. We can solve this by making libsolv pull in only the rpm libraries and not executables, </div></blockquote><div dir="auto"><br></div><div dir="auto">Libsolve already has option to disable rpmdb support and we use it</div><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">so that rpm test will be skipped. Or maybe even make the test itself check whether rpm is the packaging format and skip otherwise.</div></blockquote><div dir="auto"><br></div><div dir="auto">No. Skipping test is just symptom of the problem I knew we could paper over it but that’s not the point</div><div dir="auto"><br></div><div dir="auto">Even if test is made to pass rpm will be dragged into</div><div dir="auto">Images which is not desired </div><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"></div><div dir="auto"><br></div><div dir="auto">Alex</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu 13. Feb 2020 at 7.01, Khem Raj <<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, Feb 12, 2020 at 8:49 PM Alexander Kanavin<br>
<<a href="mailto:alex.kanavin@gmail.com" target="_blank">alex.kanavin@gmail.com</a>> wrote:<br>
><br>
> But you do not need to fix or touch dnf at all. You only need to adjust rpm packaging and split it in two parts instead of bundling everything into a single package.<br>
><br>
<br>
when we do world builds without package_rpm, dnf and related packages<br>
get compiled which is unnecessary and moreover wrong and when we mark<br>
libsolv to enable rpmdb only for package_rpm, this becomes even more evident.<br>
<br>
Perhaps, I am missing what you intend to convey, in that case maybe you can send<br>
code changes to support what you are intending here.<br>
<br>
> Alex<br>
><br>
> On Wed 12. Feb 2020 at 23.16, Khem Raj <<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>> wrote:<br>
>><br>
>> On Wed, Feb 12, 2020 at 2:00 PM Alexander Kanavin<br>
>> <<a href="mailto:alex.kanavin@gmail.com" target="_blank">alex.kanavin@gmail.com</a>> wrote:<br>
>> ><br>
>> > I would still prefer to just split rpm packaging into binaries and libraries, and avoid the need to blacklist and tweak recipes based on what PACKAGE_CLASSES is set to altogether. That setting should not leak into recipes, and should only matter from do_package onwards. Can you look into the rpm recipe please?<br>
>> ><br>
>><br>
>> dnf and dnf related packages expecting rpmdb support in libresolv. I<br>
>> do not know dnf well enough to fix it and moreover it has no direct<br>
>> use for my usecase either. I also don't see a point of entertaining<br>
>> dnf for non-rpm backends. Its not intended for that either even if we<br>
>> were to make dnf not want rpmdb what good will it do to build for<br>
>> distros who do not use rpm. These changes do not change poky defaults<br>
>> which use rpm as default. OE-core does not and I dont know of any<br>
>> opkg user who also has rpmdb needed.<br>
>><br>
>> > Alex<br>
>> ><br>
>> > On Wed, 12 Feb 2020 at 20:19, Khem Raj <<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>> wrote:<br>
>> >><br>
>> >> dnf does not work with opkg or dpkg/apt anyway<br>
>> >><br>
>> >> Signed-off-by: Khem Raj <<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>><br>
>> >> ---<br>
>> >> v2: Use PNBLACKLIST instead of anon python<br>
>> >><br>
>> >> meta/recipes-devtools/dnf/<a href="http://dnf_4.2.2.bb" rel="noreferrer" target="_blank">dnf_4.2.2.bb</a> | 2 ++<br>
>> >> meta/recipes-devtools/libdnf/<a href="http://libdnf_0.28.1.bb" rel="noreferrer" target="_blank">libdnf_0.28.1.bb</a> | 1 +<br>
>> >> 2 files changed, 3 insertions(+)<br>
>> >><br>
>> >> diff --git a/meta/recipes-devtools/dnf/<a href="http://dnf_4.2.2.bb" rel="noreferrer" target="_blank">dnf_4.2.2.bb</a> b/meta/recipes-devtools/dnf/<a href="http://dnf_4.2.2.bb" rel="noreferrer" target="_blank">dnf_4.2.2.bb</a><br>
>> >> index f38167f1ad..220f1aabbd 100644<br>
>> >> --- a/meta/recipes-devtools/dnf/<a href="http://dnf_4.2.2.bb" rel="noreferrer" target="_blank">dnf_4.2.2.bb</a><br>
>> >> +++ b/meta/recipes-devtools/dnf/<a href="http://dnf_4.2.2.bb" rel="noreferrer" target="_blank">dnf_4.2.2.bb</a><br>
>> >> @@ -84,3 +84,5 @@ SYSTEMD_SERVICE_${PN} = "dnf-makecache.service dnf-makecache.timer \<br>
>> >> dnf-automatic-notifyonly.service dnf-automatic-notifyonly.timer \<br>
>> >> "<br>
>> >> SYSTEMD_AUTO_ENABLE ?= "disable"<br>
>> >> +<br>
>> >> +PNBLACKLIST[dnf] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build correctly without package_rpm in PACKAGE_CLASSES', d)}"<br>
>> >> diff --git a/meta/recipes-devtools/libdnf/<a href="http://libdnf_0.28.1.bb" rel="noreferrer" target="_blank">libdnf_0.28.1.bb</a> b/meta/recipes-devtools/libdnf/<a href="http://libdnf_0.28.1.bb" rel="noreferrer" target="_blank">libdnf_0.28.1.bb</a><br>
>> >> index 882c435b32..49afa04812 100644<br>
>> >> --- a/meta/recipes-devtools/libdnf/<a href="http://libdnf_0.28.1.bb" rel="noreferrer" target="_blank">libdnf_0.28.1.bb</a><br>
>> >> +++ b/meta/recipes-devtools/libdnf/<a href="http://libdnf_0.28.1.bb" rel="noreferrer" target="_blank">libdnf_0.28.1.bb</a><br>
>> >> @@ -26,4 +26,5 @@ EXTRA_OECMAKE_append_class-native = " -DWITH_GIR=OFF"<br>
>> >> EXTRA_OECMAKE_append_class-nativesdk = " -DWITH_GIR=OFF"<br>
>> >><br>
>> >> BBCLASSEXTEND = "native nativesdk"<br>
>> >> +PNBLACKLIST[libdnf] ?= "${@bb.utils.contains('PACKAGE_CLASSES', 'package_rpm', '', 'does not build correctly without package_rpm in PACKAGE_CLASSES', d)}"<br>
>> >><br>
>> >> --<br>
>> >> 2.25.0<br>
>> >><br>
>> >> --<br>
>> >> _______________________________________________<br>
>> >> Openembedded-core mailing list<br>
>> >> <a href="mailto:Openembedded-core@lists.openembedded.org" target="_blank">Openembedded-core@lists.openembedded.org</a><br>
>> >> <a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/mailman/listinfo/openembedded-core</a><br>
</blockquote></div></div>
</blockquote></div></div>