[oe] [PATCH V3] cryptsetup: add libdevmapper to RDEPENDS

Peter Kjellerstedt peter.kjellerstedt at axis.com
Fri Aug 30 04:07:30 UTC 2019


> -----Original Message-----
> From: openembedded-devel-bounces at lists.openembedded.org <openembedded-
> devel-bounces at lists.openembedded.org> On Behalf Of Hongxu Jia
> Sent: den 30 augusti 2019 03:32
> To: Alejandro Enedino Hernandez Samaniego <alejandro.enedino.hernandez-
> samaniego at xilinx.com>; raj.khem at gmail.com
> Cc: openembedded-devel at lists.openembedded.org
> Subject: Re: [oe] [PATCH V3] cryptsetup: add libdevmapper to RDEPENDS
> 
> On 8/30/19 5:10 AM, Alejandro Enedino Hernandez Samaniego wrote:
> >
> > Hey Hongxu,
> >
> > On 8/29/19 8:57 AM, Hongxu Jia wrote:
> >> Since commit [libdevmapper/lvm2: force recipe libdevmapper to
> populate
> >> sysroot only] applied, if recipe DEPENDS on libdevmapper, we have to
> >> add it to packages RDEPENDS to fix [file-rdeps] QA issue
> >>
> >> Skip [build-deps] and [file-rdeps] QA checking, add lvm2 to DEPENDS
> will
> >> triger circular dependencies, use recipe libdevmapper to replace,
> >> ignore the QA checking is fine.
> >>
> >> Signed-off-by: Hongxu Jia<hongxu.jia at windriver.com>
> >> ---
> >>   meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.2.0.bb | 6 ++++++
> >>   1 file changed, 6 insertions(+)
> >>
> >> diff --git a/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.2.0.bb
> b/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.2.0.bb
> >> index 6ebf1e2..194842e 100644
> >> --- a/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.2.0.bb
> >> +++ b/meta-oe/recipes-crypto/cryptsetup/cryptsetup_2.2.0.bb
> >> @@ -16,6 +16,10 @@ DEPENDS = " \
> >>       util-linux \
> >>   "
> >>
> >> +RDEPENDS_${PN} = " \
> >> +    libdevmapper \
> >> +"
> >> +
> >>   SRC_URI
> ="${KERNELORG_MIRROR}/linux/utils/${BPN}/v${@d.getVar('PV').split('.')[
> 0]}.${@d.getVar('PV').split('.')[1]}/${BP}.tar.xz"
> >>   SRC_URI[md5sum] = "f7818082056e5bc0be12e4c7fc20345a"
> >>   SRC_URI[sha256sum] =
> "9d8f8cac2836a1623c075b5cba96032271dc81a28b2aa27fbd8331e831416bb1"
> >> @@ -85,4 +89,6 @@ EXTRA_OECONF += "--disable-libargon2"
> >>
> >>   FILES_${PN}
> +="${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib
> /tmpfiles.d/cryptsetup.conf',
> >> '', d)}"
> >>
> >> +INSANE_SKIP_${PN} += "build-deps file-rdeps"
> >> +
> >>   BBCLASSEXTEND = "native nativesdk"
> >
> >
> > This is the error I'm getting at do_rootfs after the latest version
> of
> > this patch:
> >
> > do_rootfs: Could not invoke dnf. Command
> > Error:
> >   Problem: conflicting requests
> >    - nothing provides libdevmapper needed by cryptsetup-2.2.0-
> r0.skylake_64
> >    - nothing provides libdevmapper.so.1.02()(64bit) needed by
> cryptsetup-2.2.0-r0.skylake_64
> >    - nothing provides libdevmapper.so.1.02(Base)(64bit) needed by
> cryptsetup-2.2.0-r0.skylake_64
> >    - nothing provides libdevmapper.so.1.02(DM_1_02_97)(64bit) needed
> by cryptsetup-2.2.0-r0.skylake_64
> > (try to add '--skip-broken' to skip uninstallable packages or '--
> nobest' to use not only best candidate packages)
> 
> Sorry for the inconvenience, I will have a look at the issue
> 
> //Hongxu
> 
> > Cheers,
> >
> > Alejandro

Well, the error should be obvious given that after the latest changes 
to libdevmapper and lvm2, the libdevmapper recipe no longer builds a 
libdevmapper package, it is built by lvm2, but cryptsetup only depends 
on libdevmapper and so there is nothing to tell bitbake that it needs 
to build lvm2. I believe the correct solution is to add:

PREFERRED_RPROVIDER_libdevmapper = "lvm2"

to meta-oe/conf/layer.conf. With that added and the explicit RDEPENDS 
on libdevmapper in cryptsetup, I do not think you need to skip neither 
build-deps nor file-rdeps in the cryptsetup recipe anymore.

//Peter



More information about the Openembedded-devel mailing list