-
Notifications
You must be signed in to change notification settings - Fork 455
Description
Currently project links are implemented in the find_package method of the project model. They work by going through the configured links and returning the package object from the linked project.
The downside of this is that the information about the project that contained the link is lost. This leads to some problems, because access checks are done with the wrong project. E.g. if you link to a project you can't modify (like openSUSE:Factory) you trigger rebuilds for the packages.
My idea is to implement linked projects with "readonly" packages like already in use for remote projects or scmsync projects. This means that find_package clones the package data and sets the project to the right value. The project where the package lives needs to be stored in another attribute, of course.
Of course this needs adjustments in a couple of places. For example the UI wants to display the real location of the package. But I think this is a sensible change and reduces mistakes in the future.