Andrey,
Thanks for the response.
I did a little more investigation into why specifically I cannot
resolve a target platform for EMF's Oomph setup which uses
Targlets against 2019-03. First I tried to create a minimal
example so I modified Oomph such that it can represent a
requirement that maps to
org.eclipse.equinox.p2.metadata.MetadataFactory.createRequirement(String,
String, IMatchExpression<IInstallableUnit>, int, int,
boolean), i.e., to a
org.eclipse.equinox.internal.p2.metadata.RequiredPropertiesMatch.RequiredPropertiesMatch.
I used that to try to resolve exactly the requirement that the p2
director is complaining can't be found:
<?xml version="1.0" encoding="UTF-8"?>
<p2:Requirement
xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:p2="http://www.eclipse.org/oomph/p2/1.0"
name="(objectClass=org.osgi.service.event.EventAdmin)"
namespace="osgi.service"/>
But that works properly so there is definitely not a bug in p2's
ability to resolve this specific property match requirement.
In the end, after trying many combinations I could not reproduce
the resolution failure with a test case.
What finally fixed/avoided the EMF-specific problem was to change
the following explicit requirement to be optional (though greedy,
which is the model's default):
<?xml version="1.0" encoding="UTF-8"?>
<p2:Requirement
xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:p2="http://www.eclipse.org/oomph/p2/1.0"
name="org.eclipse.equinox.ds"
optional="true"/>
This in combination resolves successfully and
org.eclipse.equinox.ds is successfully resolved in the resulting
target platform. The fact that it fails to resolve when it's not
optional but succeeds and greedily resolves it successfully when
optional seems very strange and unexpected.
I expect the problem reported on the forum is also a result of
some hard-to-reproduce combination of already-installed IUs.
To confirm this, I downloaded the following package and tried to
update it to the latest release:
https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2018-12/R/eclipse-committers-2018-12-R-win32-x86_64.zip
By, the way, has anyone noticed that we have a number of variants
of the license?
Note that the most broadly used version has an encoding problem
for the "TM" Unicode trademark character. Maybe we could fix this
mess in 2019-06! Note that all of them are wrong in some
way!!
In any case, I could successfully update to the latest release,
so there is not a general/pervasive p2 bug that prevents updates
from 2018-12 to 2019-03.
That just leaves us with a mysterious, hard-to-reproduce
problem...
Regards,
Ed
On 21.03.2019 17:56, Andrey Loskutov
wrote:
I've answered on the forum. Unfortunately I'm not p2 guru, but I guess this is a bug in p2.
Am 21. März 2019 17:13:38 MEZ schrieb Ed Merks <ed.merks@xxxxxxxxx>:
Does anyone know why we might encounter failures like this:
ERROR: org.eclipse.equinox.p2.director code=10053 Cannot complete the
install because one or more required items could not be found.
ERROR: org.eclipse.equinox.p2.director code=0 Software being
installed: artificial_root 1.0.0.v1553184475173
ERROR: org.eclipse.equinox.p2.director code=0 Missing requirement:
Eclipse UI Application Services 1.3.400.v20190212-2214
(org.eclipse.e4.ui.services 1.3.400.v20190212-2214) requires
'osgi.service; (objectClass=org.osgi.service.event.EventAdmin)' but it
could not be found
ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy
dependency:
ERROR: org.eclipse.equinox.p2.director code=0 From:
artificial_root 1.0.0.v1553184475173
ERROR: org.eclipse.equinox.p2.director code=0 To:
org.eclipse.equinox.p2.iu; org.eclipse.platform.feature.group 0.0.0
ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy
dependency:
ERROR: org.eclipse.equinox.p2.director code=0 From: Eclipse 4
Rich Client Platform 1.6.400.v20190305-0602
(org.eclipse.e4.rcp.feature.group 1.6.400.v20190305-0602)
ERROR: org.eclipse.equinox.p2.director code=0 To:
org.eclipse.equinox.p2.iu; org.eclipse.e4.ui.services
[1.3.400.v20190212-2214,1.3.400.v20190212-2214]
ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy
dependency:
ERROR: org.eclipse.equinox.p2.director code=0 From: Eclipse
Platform 4.11.0.v20190307-0500 (org.eclipse.platform.feature.group
4.11.0.v20190307-0500)
ERROR: org.eclipse.equinox.p2.director code=0 To:
org.eclipse.equinox.p2.iu; org.eclipse.rcp.feature.group
[4.11.0.v20190307-0500,4.11.0.v20190307-0500]
ERROR: org.eclipse.equinox.p2.director code=1 Cannot satisfy
dependency:
ERROR: org.eclipse.equinox.p2.director code=0 From: Eclipse RCP
4.11.0.v20190307-0500 (org.eclipse.rcp.feature.group
4.11.0.v20190307-0500)
ERROR: org.eclipse.equinox.p2.director code=0 To:
org.eclipse.equinox.p2.iu; org.eclipse.e4.rcp.feature.group
[1.6.400.v20190305-0602,1.6.400.v20190305-0602]
I have this problem resolving the a target platform using Oomph's
Targlets against 2019-03, but users are reporting what's essentially
the
same error/cause trace when trying to update from Eclipse 2018-12 to
2019-03:
https://www.eclipse.org/forums/index.php/mv/msg/1098132/1804241/#msg_1804241
_______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe
>from this list, visit
https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev
--
Kind regards,
Andrey Loskutov
https://www.eclipse.org/user/aloskutov
Спасение утопающих - дело рук самих утопающих