[OE-core] [PATCH] package-deb: Ignore circular dependencies
Mark Hatle
mark.hatle at windriver.com
Wed Mar 9 21:27:33 UTC 2016
On 3/9/16 3:23 PM, Mark Hatle wrote:
> On 3/9/16 2:33 PM, Burton, Ross wrote:
>>
>> On 9 March 2016 at 18:19, Ricardo Ribalda Delgado <ricardo.ribalda at gmail.com
>> <mailto:ricardo.ribalda at gmail.com>> wrote:
>>
>> + bb.warn("Package %s rdepends on itself. Ignoring
>> this dependency" % pkg)
>>
>>
>> Depending on yourself seems wrong no matter what packaging backend you're using,
>> even if it isn't fatal. Maybe this should be added to the general sanity checks
>> in insane.bbclass?
>>
>> Ross
>>
>>
>
> I disagree.. it's quite common for an automatic dependency to trigger a
> dependency on one's self. I.e.:
>
> python provides /usr/bin/python
>
> python includes a script that uses /usr/bin/python
>
> depends system now has a provide and dependency for /usr/bin/python in the same
> package. This is 'fine'.
>
> Since opkg/deb can't handle file based dependencies, it would be reasonable for
> a dependency on /usr/bin/python to be translated to 'python'.
>
> And now you have the python package depending on the python package.
>
>
> If the package manager interface does not support this, then it should be the
> package manager .bbclass that should filter out these items.
>
> This is what we've had to do in the rpm backend... I think it's reasonable for
> the deb and opkg backends as well.
Just wanted to clarify the above. RPM -does- support self-referencing
dependencies. Circular dependencies are different, in that A -> B -> C -> A..
those are detected and there is some basic logic to break those.
The RPM backend has rule checks where the RPM rules differ from the OE/deb/opkg
and translates to the correct RPM style rules. This is what I think deb/opkg
should be doing.. checking RPM/OE style rules and translating.
--Mark
> --Mark
>
More information about the Openembedded-core
mailing list