[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