Red Hat Bugzilla – Bug 823492
Changelog should have Require: eclipse-cdt
Last modified: 2014-01-12 19:27:14 EST
One of changelog plugins, org.eclipse.linuxtools.changelog.cparser, depends on the cdt. It should have been reflected in the spec file.
This issue causes problems described in Eclipse bug 251167.
(In reply to comment #0)
> One of changelog plugins, org.eclipse.linuxtools.changelog.cparser, depends
> on the cdt. It should have been reflected in the spec file.
> This issue causes problems described in Eclipse bug 251167.
I think the bug report you refer to above is incorrect. I don't see any mention of ChangeLog.
Now, the ChangeLog cparser and java parsers are fragments (not plug-ins). AFAIK, a fragment is optional and it works if its requirements are filled and otherwise does not. Thus, it is an optional requirement and not a true Requires on the eclipse-cdt. Is this logic incorrect?
(In reply to comment #1)
> (In reply to comment #0)
> AFAIK, a fragment is optional and it works if its requirements are filled
> and otherwise does not.
Fragments may have only platform filters - and this is the only mechanism that can disable them. If the CDT is absent, the fragment disablement is actually a result of the reconciliation process, where plugins without satisfied dependencies are simply not loaded. However, in a fully enabled P2 installation this would be considered as a broken install.
The point is that having the fragment optional absent is not equal to having the fragment with broken dependencies. It's fine if it is absent, but if it has broken dependencies, then it is broken.
Eclipse has suffered similar issues very recently. The problem is with the interpretation of the 'optional' requirement. Is it a requirement that should be fetched by the installer or not?
The Eclipse recommendation was to create a separate feature with a mandatory requirements to let the user choose which parts of the system should be really installed, whether he wanted to have the optional parts or not. If yes, then trough the P2 fetched all dependencies.
I think it should be reflected in the changelog by having:
eclipse-changelog-cdt-integration subpackage with cdt requirement.
https://koji.fedoraproject.org/koji/rpminfo?rpmID=3288976 as can be seen proper osgi(...) requires on cdt are now autogenerated.