From: Darren Hart <darren.hart@intel.com>
To: "Kamble, Nitin A" <nitin.a.kamble@intel.com>
Cc: "yocto@yoctoproject.org" <yocto@yoctoproject.org>
Subject: Re: [PATCHv4 6/8] mesa-dri.bbappend: avoid conflict with emgd-driver-bin
Date: Tue, 16 Oct 2012 15:20:50 -0700 [thread overview]
Message-ID: <507DDDC2.6030708@intel.com> (raw)
In-Reply-To: <ADD6A3980E8C39419A432FF422031B4C2D90558E@ORSMSX106.amr.corp.intel.com>
On 10/16/2012 03:17 PM, Kamble, Nitin A wrote:
>
>
>> -----Original Message-----
>> From: Hart, Darren
>> Sent: Monday, October 15, 2012 9:10 AM
>> To: Kamble, Nitin A
>> Cc: Zanussi, Tom; yocto@yoctoproject.org
>> Subject: Re: [PATCHv4 6/8] mesa-dri.bbappend: avoid conflict with emgd-
>> driver-bin
>>
>> On 10/11/2012 04:31 PM, nitin.a.kamble@intel.com wrote:
>>> From: Nitin A Kamble <nitin.a.kamble@intel.com>
>>>
>>> Extend the mesa-dri recipe from oecore to avoid conflict with files
>>> generated by emgd-driver-bin recipe.
>>>
>>> This extention is needed only when emgd-driver-bin recipe is included
>>> in the target image, so the code is conditional to run only on the
>>> machine with emgd graphics driver.
>>>
>>> The emgd binary driver also provides egl, gles1, gles2 library & headers.
>>> To avoid conflict disable egl, gles1, gles2 from meta-dri if the BSP
>>> image is bundling the emgd driver.
>>>
>>> This commits avoids these build warning
>>>
>>> WARNING: The recipe is trying to install files into a shared area when those
>> files already exist. Those files are:
>>> /srv/home/nitin/build-test-bsps/build-
>> crownbay/tmp/sysroots/crownbay/usr/include/KHR/khrplatform.h
>>> /srv/home/nitin/build-test-bsps/build-
>> crownbay/tmp/sysroots/crownbay/usr/include/EGL/eglplatform.h
>>> /srv/home/nitin/build-test-bsps/build-
>> crownbay/tmp/sysroots/crownbay/usr/include/EGL/eglext.h
>>> /srv/home/nitin/build-test-bsps/build-
>> crownbay/tmp/sysroots/crownbay/usr/include/EGL/egl.h
>>> /srv/home/nitin/build-test-bsps/build-
>> crownbay/tmp/sysroots/crownbay/usr/include/GLES/glplatform.h
>>> /srv/home/nitin/build-test-bsps/build-
>> crownbay/tmp/sysroots/crownbay/usr/include/GLES/gl.h
>>> /srv/home/nitin/build-test-bsps/build-
>> crownbay/tmp/sysroots/crownbay/usr/include/GLES/glext.h
>>> /srv/home/nitin/build-test-bsps/build-
>> crownbay/tmp/sysroots/crownbay/usr/include/GLES2/gl2ext.h
>>> /srv/home/nitin/build-test-bsps/build-
>> crownbay/tmp/sysroots/crownbay/usr/include/GLES2/gl2.h
>>>
>>> /srv/home/nitin/build-test-bsps/build-
>> crownbay/tmp/sysroots/crownbay/u
>>> sr/include/GLES2/gl2platform.h
>>>
>>> This resolves part of the issue reported on the bug:
>>> [Yocto #3238]
>>>
>>> Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
>>> ---
>>> .../recipes-graphics/mesa/mesa-dri_8.0.4.bbappend | 24
>> ++++++++++++++++++++
>>> 1 files changed, 24 insertions(+), 0 deletions(-) create mode 100644
>>> common/recipes-graphics/mesa/mesa-dri_8.0.4.bbappend
>>>
>>> diff --git a/common/recipes-graphics/mesa/mesa-dri_8.0.4.bbappend
>>> b/common/recipes-graphics/mesa/mesa-dri_8.0.4.bbappend
>>> new file mode 100644
>>> index 0000000..6bfa968
>>> --- /dev/null
>>> +++ b/common/recipes-graphics/mesa/mesa-dri_8.0.4.bbappend
>>> @@ -0,0 +1,24 @@
>>> +
>>> +# The emgd binary driver also provides egl, gles1, gles2 library & headers.
>>> +# To avoid conflict disable egl, gles1, gles2 from meta-dri if the
>>> +BSP image # is bundling the emgd driver.
>>> +
>>> +python __anonymous () {
>>> + import re
>>> + xserver = d.getVar('XSERVER', True)
>>> + if 'emgd-driver-bin' in xserver.split(' '):
>>> + extra_oeconf = d.getVar('EXTRA_OECONF', True).split()
>>> + take_out = ["--enable-egl", "--enable-gles1", "--enable-gles2"]
>>> + put_in = ["--disable-egl", "--disable-gles1", "--disable-gles2"]
>>> + pattern = re.compile("--with-egl-platforms")
>>> + new_extra_oeconf = [ ]
>>> + for i in extra_oeconf:
>>> + if ( i not in take_out ) and ( not pattern.match(i)):
>>> + new_extra_oeconf.append(i)
>>> + for i in put_in:
>>> + new_extra_oeconf.append(i)
>>> +
>>> + d.setVar('EXTRA_OECONF', ' '.join(new_extra_oeconf))
>>> + depends = d.getVar('DEPENDS', True)
>>> + d.setVar('DEPENDS', depends + " emgd-driver-bin")
>>
>> Odd mix of whitespace and tabs above.
>>
>> Also, I have to agree with Ross. This places very specific knowledge of an
>> external package in the general purpose recipe. This is opposite of how these
>> things should be built up.
>>
>
> Whitespace issues can be solved easily. But if this solution is not acceptable, then I am not sure how to solve the issue. Do we push the issue to 1.4?
Can you define a variable that EXTRA_OECONF includes which can be
manipulated in a bbappend in the meta-intel? This would keep this
complex logic out of the core recipe and move into the place that
actually needs it.
--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
next prev parent reply other threads:[~2012-10-16 22:21 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-11 23:30 [PATCHv4 0/8] Misc meta-intel commits nitin.a.kamble
2012-10-11 23:30 ` [PATCHv4 1/8] xf86-video-intel: Bring 2.20.0 version to match released graphics stack nitin.a.kamble
2012-10-11 23:30 ` [PATCHv4 2/8] crownbay.conf: specify the 8.0.4 version as preferred version of mesa-dri nitin.a.kamble
2012-10-11 23:31 ` [PATCHv4 3/8] emgd-driver_bin_1.10: Remove in favor of 1.14 nitin.a.kamble
2012-10-11 23:31 ` [PATCHv4 4/8] fishriver BSP retirement nitin.a.kamble
2012-10-11 23:31 ` [PATCHv4 5/8] update maintainers of various BSPs nitin.a.kamble
2012-10-11 23:31 ` [PATCHv4 6/8] mesa-dri.bbappend: avoid conflict with emgd-driver-bin nitin.a.kamble
2012-10-12 9:48 ` Burton, Ross
2012-10-12 16:06 ` Kamble, Nitin A
2012-10-15 16:10 ` Darren Hart
2012-10-16 22:17 ` Kamble, Nitin A
2012-10-16 22:20 ` Darren Hart [this message]
2012-10-17 0:00 ` Kamble, Nitin A
2012-10-11 23:31 ` [PATCHv4 7/8] emgd-driver-bin: note all the EMGD licenses nitin.a.kamble
2012-10-11 23:31 ` [PATCHv4 8/8] custom-licenses dir for emgd recipe Licenses nitin.a.kamble
2012-10-12 22:55 ` [PATCHv4 0/8] Misc meta-intel commits Tom Zanussi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=507DDDC2.6030708@intel.com \
--to=darren.hart@intel.com \
--cc=nitin.a.kamble@intel.com \
--cc=yocto@yoctoproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.