*** This bug is a duplicate of bug 1192908 ***
    https://bugs.launchpad.net/bugs/1192908

This bug is still valid. We don't have a problem at this point, because
we have both mir and mesa packages in the archive, so we can build new
versions using the existing versions of -dev packages to fulfill
dependencies (this needs some care when we make incompatible changes).

I agree that our best way forward is to remove the dependency libegl1
-mesa-dev has on libmirclient-dev. It's reasonable to assume that a
program that needs to use Mir with EGL will depend on libmirclient-dev
itself, or at least mircommon-dev (otherwise how can it know about the
MirConnection/Surfaces types it needs to pass to EGL?).

I would also recommend changing mesa to build-depend on mircommon-dev
instead of the full libmirclient-dev, since it only needs the Mir EGL
definitions in the former package.

Note, though, that as Daniel points in bug #1192908, we have a circular
dependency issue at the source package level, that can't be solved
unless we either use multiple source packages for Mir, or move our Mir
Mesa EGL definitions upstream in Mesa, as Kevin suggested.

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to mesa in Ubuntu.
https://bugs.launchpad.net/bugs/1239037

Title:
  circular build-dependency between mesa, mir

Status in Mir:
  New
Status in “mesa” package in Ubuntu:
  New
Status in “mir” package in Ubuntu:
  New

Bug description:
  While testing cross-building of mir, I noticed that mir and mesa have
  a build-dependency loop: installing the build-dependencies of mir
  installs libmirclient-dev.

  This is because mir build-depends on libegl1-mesa-dev, and libegl1
  -mesa-dev depends on libmirclient-dev.

  The libegl1-mesa runtime package does *not* depend on libmirclient3,
  so this dependency looks spurious to me.  Is there a reason this
  dependency loop shouldn't be broken by dropping the dep from libegl1
  -mesa-dev -> libmirclient-dev?  As near as I can tell, the dependency
  on libmirclient-dev is because of this section of
  /usr/include/EGL/eglplatform.h:

  #elif defined(MIR_EGL_PLATFORM)

  #include <mir_toolkit/mir_client_library.h>
  typedef MirEGLNativeDisplayType EGLNativeDisplayType;
  typedef void                   *EGLNativePixmapType;
  typedef MirEGLNativeWindowType  EGLNativeWindowType;

  [...]

  But that's optional, and anybody defining MIR_EGL_PLATFORM would
  presumably need to depend on mir themselves, no?

To manage notifications about this bug go to:
https://bugs.launchpad.net/mir/+bug/1239037/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to