Hi Mikko, On 2014-11-26 2:01 PM, Ylinen, Mikko wrote: > Hi, > > On Wed, Nov 26, 2014 at 4:52 AM, Damian Hobson-Garcia <[email protected]> > wrote: > >> Hi Mikko, >> >> On 2014-10-23 12:31 PM, Damian Hobson-Garcia wrote: >> >> I am proposing: >> >> Prefer: mesa-libGLESv2 >> Prefer: libwayland-egl >> Prefer: libgbm >> Prefer: mesa-libEGL >> >> %if "%_repository" == "emulator" >> Prefer: mesa-libGL >> Prefer: emulator-yagl >> ... >> %endif >> >> > Would you be able to explain why this is needed. Sure. Let me recap/restate a bit since this thread is already a little old.
The main goal is to be able to have the ARM versions (I'm working on the Renesas versions) of these packages exist alongside the Mesa versions (and other ARM versions) without having to create new build configurations (and repositories) for each ARM platform. For the purpose of this discussion, I will call a package that has multiple versions a "multi-versioned package". Having multiple packages that provide the same files (in the OpenGL/ES case, each version will naturally provide its own libGLESv2.so* files) will break the rpm build, since the tools will not know which version to install when building other packages that require the multi-versioned package (for OpenGL/ES, that's most of the graphics libraries). The "BuildRequires:" fields in the spec file typically only specify the -devel version of the packages via the pkgconfg(), so if only one version of each multi-versioned package supplies the -devel package, the problem is solved for packages the directly require the multi-versioned package. The assumption is that the -devel package contents (.pc file and/or headers) should be the same for each version, since they essentially do the same thing and should be binary compatible. During the build process, if package A depends on package B that depends on a multi-versioned package C, package B will typically depend on the versioned library in packages C instead of the development one (in the OpenGL/ES case, it will depend on libGLESv2.so.2.0.0 instead of libGLESv2.so). This means that once again there will be a choice as to which version of package C should be installed for the build. This conflict can be resolved with the "Prefer:" statements in the build configuration. The specific reason for my proposal is that I would like to start the process of merging the Renesas versions of these OpenGL/ES libraries into the repository, and of course I do not want to break the build. For the Renesas R-Car M2 platform there are platform specific versions of the libgbm, and libEGL libraries. libwayland-egl and mesa-libGLESv2 are strictly not necessary, but the 4 together form a good set of what could potentially be useful for other platforms and the extra "Prefer:"s should hurt anything even if there is only one version of that library available. > > >> It looks like the settings files in scm/meta/build-config are generated >> from the OBS settings, so I'm not sure if this suggestion should be >> submitted through gerrit to the scm/meta/build-config project or >> somewhere else. >> > > Let's first discuss it here. I'd need some support from our OBS maintainers > too. Sounds great. I hope to get some input from them. Thanks, Damian _______________________________________________ IVI mailing list [email protected] https://lists.tizen.org/listinfo/ivi
