|
|
@@ -194,7 +194,22 @@ namespace Usm {
|
|
|
}
|
|
|
|
|
|
public bool satisfied_by(ResourceRef other) {
|
|
|
- return equals(other);
|
|
|
+ // Direct match
|
|
|
+ if (equals(other)) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ // canonlib can satisfy lib dependencies of the same name
|
|
|
+ if (resource_type == ResourceType.LIBRARY && other.resource_type == ResourceType.CANONICAL_LIBRARY) {
|
|
|
+ return resource == other.resource;
|
|
|
+ }
|
|
|
+
|
|
|
+ // canonlibres can satisfy libres dependencies of the same name
|
|
|
+ if (resource_type == ResourceType.LIBRARY_RESOURCE && other.resource_type == ResourceType.CANONICAL_LIBRARY_RESOURCE) {
|
|
|
+ return resource == other.resource;
|
|
|
+ }
|
|
|
+
|
|
|
+ return false;
|
|
|
}
|
|
|
|
|
|
public bool is_satisfied() {
|