[Mesa-dev] [RFC][PATCH 4/5] Android.mk: Add option to use vendor version of mesa

John Stultz john.stultz at linaro.org
Thu Jul 26 17:38:09 UTC 2018


On Thu, Jul 26, 2018 at 6:46 AM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
> On 25 July 2018 at 20:52, John Stultz <john.stultz at linaro.org> wrote:
>> On Wed, Jul 25, 2018 at 5:42 AM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
>>> On 25 July 2018 at 00:21, John Stultz <john.stultz at linaro.org> wrote:
>>>> From: Yong Yao <yong.yao at intel.com>
>>>>
>>>> This is a forward port of a patch from the AOSP/master branch:
>>>> https://android.googlesource.com/platform/external/mesa3d/+/b1e5fad1db4c1d51c7ae3a033b100a8429ae5415%5E%21/
>>>>
>>>> Which allows boards to provide their own custom copy of mesa.
>>>>
>>> Thanks for sorting these out John.
>>>
>>> My understanding was that when a custom project repo is used one
>>> handles that in the device manifest. Roughly as:
>>>  - foo.xml -> contains vast majority of the git repos with associated tags/etc
>>>  - local.xml -> removes any repo/project from ^^, adds new one
>>>
>>> Is that no longer the case, or I simply misremember how Android does things?
>>
>> So, I'm not aware of the specific history behind this patch. And I
>> can't speak for Google, there has been a general push via the Treble
>> efforts to standardize the Android system image, and to push vendors
>> to keep any device specific bits into their own device directory.  So
>> there is a strong disincentive to modify projects in AOSP and in order
>> to include things like devboards into AOSP, the push has been to limit
>> any device specific changes to only the device directory git tree.
>>
>> So while one can technically still replace projects with local repos
>> (and this is very useful for development!), I think they do not want
>> folks doing this for shipping devices.
>>
> Hmm using the word "local" brought some assumptions that were never made.
> AFAICT the remove/add project manifest combo can be used local
> changes/testing as well as for "shipping devices".
> Can it not?
>
>> We are trying to make sure device support is pushed upstream to fdo,
>> and then align AOSP's mesa to that, but one could imagine a board that
>> doesn't have support upstream in mesa, and provides its own copy of
>> mesa in the device directory. This patch allows the build to override
>> the default mesa project with the vendor provided mesa.
>>
> Since the vendor will already need to add the project (git repo etc),
> what is the blocker from removing the existing one beforehand?
> Last I've tried - the repo tool gives you a nice and clear
> warning/error message.
>
> There is one case where this patch is a must. If repo forbids removing
> "core" Android projects via the manifest.

I'm not saying the repo tool at all forbids removing/replacing entries
in the manifest. Its just a tool.

I'm saying that if someone is replacing git trees that are part of the
system image in a shipping device, my understanding is they are likely
going to have more problems with treble compliance. There are probably
technical loopholes folks can get through and still do it, but I think
generally its becoming frowned upon.

Its possible, but I doubt they would chose to enforce this policy via
the repo tool.

Regardless, I'm not sure why such a trivial change to the Android.mk
that the Android developers found useful is cause for much objection,
but this one seems more trouble then its worth, so I'll drop it.

thanks
-john


More information about the mesa-dev mailing list