[oe] Dependency loop in cryptsetup
ChenQi
Qi.Chen at windriver.com
Wed Feb 28 07:05:17 UTC 2018
On 02/28/2018 11:48 AM, Md Ismail, Zakiah wrote:
> Hi,
>
> I want to enable cyrptsetup in systemd by adding PACKAGECONFIG_append_pn-systemd = " cryptsetup" in my local.conf; however, I encounter the dependency loop issue. The issue is similar to this: https://bugzilla.yoctoproject.org/show_bug.cgi?id=11856. The difference is I'm using the latest commit from meta-openembedded rocko branch. Please advise on the steps to solve this issue. Thanks in advance!
>
> Regards,
> Zakiah
>
>
I'd like to provide some information here, as I worked on this issue.
When I first encountered this circular dependency problem, I solved this
problem by separating lvm2 into two recipes and making them having
different dependencies.
After that, I found that if we do so, then using tools from lvm2 would
have problem. I did some investigation and found that lvm2 and
libdevmapper recipes must have the same dependencies to work correctly
at runtime. So I sent patches to fix this runtime problem, and
introducing this circular dependency problem back.
That's the whole history of this problem. The current status is that, we
still have this circular dependency problem.
I thought about this problem for quite a while at that. The circular
dependency is about the following three packages.
libdevmapper, udev, cryptsetup.
cryptsetup depends on libdevmapper, I checked the its configure and can
confirm that it's a necessity.
libdevmapper depends on udev (provided by systemd), and this dependency
could be broke by removing udev from PACKAGECONFIG, with the cost of
losing of functionality.
udev depends on cryptsetup, and as this is what user wants, the
dependency could not be broke.
In summary, your only option at the moment is to remove 'udev' from lvm2
and libdevmapper with the cost of losing some functionality.
P.S.
To totally solve this problem, in the scheme of OE, the only option
seems to break systemd into multiple recipes, which I really don't
suggest to do.
Best Regards,
Chen Qi
More information about the Openembedded-devel
mailing list