Re: [PATCH 1/1] libnl: remove RREPLACES and RCONFLICTS for libnl-genl

André Draszik
2016-09-02T11:27:24Z

On Fr, 2016-09-02 at 17:53 +0800, Robert Yang wrote:
> Good questions, the libnl-genl2 in provides is introduced by
> REPLACES_${PN}-genl = "libnl-genl2", so libnl-genl2 should be preserved.
> And there was no libnl-genl.rpm in the past, but libnl-3-genl.rpm,
> please see commit message for more info.
>
> Here is the updated patch:
>
>    git://git.openembedded.org/openembedded-core-contrib rbt/libnl
>    http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=
> rbt/libnl
>
> Robert Yang (1):
>    libnl: fix RREPLACES and RCONFLICTS for libnl-genl
>
>
> Subject: [PATCH 1/1] libnl: fix RREPLACES and RCONFLICTS for libnl-genl
>
> The libnl-genl.rpm provides libnl-genl-3-200 after the following 2 fixes:
> libnl: update to v3.2.28
> libnl: fix packaging mistakes
>
> $ rpm -qp --provides
> tmp/deploy/rpm/core2_64/libnl-genl-3-200-3.2.28-r0.4.core2_64.rpm
> elf(buildid) = 4e753b2361ba0b02f162244a87cc0680796e46cc
> libnl-genl = 3.2.28
> libnl-genl-3.so.200()(64bit)
> libnl-genl-3.so.200(libnl_3)(64bit)
> libnl-genl2
> libnl-genl-3-200 = 1:3.2.28-r0.4
>
> Note, the libnl-genl2 is introduced by REPLACES_${PN}-genl = "libnl-
> genl2".

Ah, ok. And so is the last line, libnl-genl-3-200, I suppose. (The IPK
backend doesn't seem to do that)

> So that we don't need set libnl-genl-3-200 in the RREPLACES and
> RCONFLICTS, otherwise it would cause do_rootfs errors when install both
> libnl-genl.rpm and lib32-libnl-genl.rpm:
>
> Computing transaction...error: Can't install
> libnl-genl-3-200-1:3.2.28-r0.0@core2_64: conflicted package
> libnl-genl-3-200-1:3.2.28-r0.0@lib32_x86 is locked
>
> We didn't meet this error before was because there was no libnl-genl.rpm,
^^^^^^^^^^^^^^^
Should that be libnl-genl-3-200.rpm ?

> but libnl-3-genl.rpm, and it doesn't provide libnl-genl-3-200 by default.

OK.

So now that there is nothing in ${bindir} of the -genl package anymore, it
applies the normal package renaming using the SONAME, resulting in libnl-
genl-3-200.

Whereas previously it used ${PN}-genl as package name, where PN was set to
libnl-3 during package creation. Why was it libnl-3 (why did it not use
libnl-3-200 as prefix)?

Cheers,
Andre'