supporting microG, which has the same packageNames as the Google Apps
The Provides:
field is said to be:
Comma-separated list of application IDs that this app provides. In other words, if the user has any of these apps installed, F-Droid will show this app as installed instead. It will also appear if the user clicks on urls linking to the other app IDs. Useful when an app switches package name, or when you want an app to act as multiple apps.
While it might be difficult to actualy force such a behavior, I'd rather make it like the build recipe actually builds a "wrong" package which I can allow with Provides:
There is actually one use case for this: Replacing proprietary system apks. E.g. the microG project provides multiple implementations of the geolocation service, one that does only geolocation and one that is meant to be a complete replacement for playservices. Right now, we cannot build the latter one, because the package id is already used by the former one.