[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

mesa: Changes to 'debian-unstable'



 debian/changelog                        |   36 ++++++++++--
 debian/control                          |   28 ++++-----
 debian/local/control                    |    1 
 debian/local/script                     |   26 ++++++++
 debian/not-installed                    |    3 -
 debian/patches/11-hurd-ftbfs-again.diff |   87 +++++++++++++++++++++++++++++
 debian/patches/12-fix-fdo-31940.diff    |   95 ++++++++++++++++++++++++++++++++
 debian/patches/series                   |    2 
 debian/rules                            |   36 ++++++++----
 9 files changed, 282 insertions(+), 32 deletions(-)

New commits:
commit 88af8334a1d49526be097a977c585d328e141916
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Feb 16 11:53:30 2011 +0100

    Upload to unstable.

diff --git a/debian/changelog b/debian/changelog
index 75c9ffb..2715fd7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-mesa (7.10-4) UNRELEASED; urgency=low
+mesa (7.10-4) unstable; urgency=low
 
   * debian/not-installed: Ignore the same files on *i386.
   * debian/local/control: Report-with: xserver-xorg{,-core}.
@@ -28,7 +28,7 @@ mesa (7.10-4) UNRELEASED; urgency=low
     Wasserbäch (Closes: #612640):
     - 12-fix-fdo-31940.diff
 
- -- Cyril Brulebois <kibi@debian.org>  Tue, 08 Feb 2011 19:19:57 +0100
+ -- Cyril Brulebois <kibi@debian.org>  Wed, 16 Feb 2011 11:53:26 +0100
 
 mesa (7.10-3) unstable; urgency=low
 

commit 02fd3a129c9b693221cb1410a65aa0591dd6d94d
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Feb 16 11:53:23 2011 +0100

    Ignore the same files as *i386 on hurd-i386.

diff --git a/debian/changelog b/debian/changelog
index d15ee4e..75c9ffb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,6 @@
 mesa (7.10-4) UNRELEASED; urgency=low
 
-  * debian/not-installed: Ignore the same files on kfreebsd-i386 as i386.
+  * debian/not-installed: Ignore the same files on *i386.
   * debian/local/control: Report-with: xserver-xorg{,-core}.
   * debian/local/script: New bug script, calling glxinfo if available,
     then the server's bug script.
diff --git a/debian/not-installed b/debian/not-installed
index bd2a53e..d53a45e 100644
--- a/debian/not-installed
+++ b/debian/not-installed
@@ -39,8 +39,9 @@ NOT_INSTALLED_i386 = \
 	usr/lib/i686/cmov/pkgconfig/glu.pc \
 	usr/lib/i686/cmov/pkgconfig/gl.pc
 
-# Same for linux and kfreebsd on i386:
+# Same for linux, kfreebsd, and hurd on i386:
 NOT_INSTALLED_kfreebsd-i386 = $(NOT_INSTALLED_i386)
+NOT_INSTALLED_hurd-i386     = $(NOT_INSTALLED_i386)
 
 # Detect the current architecture and add the files if any:
 DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)

commit 8e9121b58d2662a78f1173b9f88fcc176d622d67
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Feb 16 03:41:23 2011 +0100

    Remove extraneous changelog entry.

diff --git a/debian/changelog b/debian/changelog
index 1ff58e3..d15ee4e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,6 @@
 mesa (7.10-4) UNRELEASED; urgency=low
 
   * debian/not-installed: Ignore the same files on kfreebsd-i386 as i386.
-  * debian/rules: Don't try to build the x11 EGL display on hurd-i386.
   * debian/local/control: Report-with: xserver-xorg{,-core}.
   * debian/local/script: New bug script, calling glxinfo if available,
     then the server's bug script.

commit af3436b48d845084a4d013dbbaad6e43d4ac78e1
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Feb 16 01:31:42 2011 +0100

    Add patch for a crash in dri2_invalidate_drawable, thanks to Kai Wasserbäch (Closes: #612640).

diff --git a/debian/changelog b/debian/changelog
index c3ad4e7..1ff58e3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -25,6 +25,9 @@ mesa (7.10-4) UNRELEASED; urgency=low
   * Disable EGL/Gallium/GLES/state trackers on GNU/Hurd.
   * Fix FTBFS on sparc64, treat it the same way as sparc. Thanks, Aurélien
     Jarno! (Closes: #613106).
+  * Add patch for a crash in dri2_invalidate_drawable, thanks to Kai
+    Wasserbäch (Closes: #612640):
+    - 12-fix-fdo-31940.diff
 
  -- Cyril Brulebois <kibi@debian.org>  Tue, 08 Feb 2011 19:19:57 +0100
 
diff --git a/debian/patches/12-fix-fdo-31940.diff b/debian/patches/12-fix-fdo-31940.diff
new file mode 100644
index 0000000..7830bd8
--- /dev/null
+++ b/debian/patches/12-fix-fdo-31940.diff
@@ -0,0 +1,95 @@
+From: Jakob Bornecrantz <wallbraker@gmail.com>
+Description: [PATCH] st/dri: Track drawable context bindings
+ Needs to track this ourself since because we get into a race condition with
+ the dri_util.c code on make current when rendering to the front buffer.
+ .
+ This is what happens:
+ Old context is rendering to the front buffer.
+ .
+ App calls MakeCurrent with a new context. dri_util.c sets
+ drawable->driContextPriv to the new context and then calls the driver make
+ current. st/dri make current flushes the old context, which calls back into
+ st/dri via the flush frontbuffer hook. st/dri calls dri loader flush
+ frontbuffer, which calls invalidate buffer on the drawable into st/dri.
+ .
+ This is where things gets wrong. st/dri grabs the context from the dri
+ drawable (which now points to the new context) and calls invalidate
+ framebuffer to the new context which has not yet set the new drawable as its
+ framebuffers since we have not called make current yet, it asserts.
+Bug: https://bugs.freedesktop.org/show_bug.cgi?id=31940
+Origin: other, https://bugs.freedesktop.org/attachment.cgi?id=40689
+---
+ src/gallium/state_trackers/dri/common/dri_context.c  |   10 +++++++++-
+ src/gallium/state_trackers/dri/common/dri_drawable.c |    1 +
+ src/gallium/state_trackers/dri/common/dri_drawable.h |    3 +++
+ src/gallium/state_trackers/dri/drm/dri2.c            |    2 +-
+ 4 files changed, 14 insertions(+), 2 deletions(-)
+
+--- a/src/gallium/state_trackers/dri/common/dri_context.c
++++ b/src/gallium/state_trackers/dri/common/dri_context.c
+@@ -141,12 +141,18 @@ GLboolean
+ dri_unbind_context(__DRIcontext * cPriv)
+ {
+    /* dri_util.c ensures cPriv is not null */
++   struct dri_screen *screen = dri_screen(cPriv->driScreenPriv);
+    struct dri_context *ctx = dri_context(cPriv);
++   struct dri_drawable *draw = dri_drawable(ctx->dPriv);
++   struct dri_drawable *read = dri_drawable(ctx->rPriv);
++   struct st_api *stapi = screen->st_api;
+ 
+    if (--ctx->bind_count == 0) {
+       if (ctx->st == ctx->stapi->get_current(ctx->stapi)) {
+          ctx->st->flush(ctx->st, PIPE_FLUSH_RENDER_CACHE, NULL);
+-         ctx->stapi->make_current(ctx->stapi, NULL, NULL, NULL);
++         stapi->make_current(stapi, NULL, NULL, NULL);
++         draw->context = NULL;
++         read->context = NULL;
+       }
+    }
+ 
+@@ -169,10 +175,12 @@ dri_make_current(__DRIcontext * cPriv,
+ 
+    ++ctx->bind_count;
+ 
++   draw->context = ctx;
+    if (ctx->dPriv != driDrawPriv) {
+       ctx->dPriv = driDrawPriv;
+       draw->texture_stamp = driDrawPriv->lastStamp - 1;
+    }
++   read->context = ctx;
+    if (ctx->rPriv != driReadPriv) {
+       ctx->rPriv = driReadPriv;
+       read->texture_stamp = driReadPriv->lastStamp - 1;
+--- a/src/gallium/state_trackers/dri/common/dri_drawable.c
++++ b/src/gallium/state_trackers/dri/common/dri_drawable.c
+@@ -132,6 +132,7 @@ dri_create_buffer(__DRIscreen * sPriv,
+    drawable->base.validate = dri_st_framebuffer_validate;
+    drawable->base.st_manager_private = (void *) drawable;
+ 
++   drawable->screen = screen;
+    drawable->sPriv = sPriv;
+    drawable->dPriv = dPriv;
+    dPriv->driverPrivate = (void *)drawable;
+--- a/src/gallium/state_trackers/dri/common/dri_drawable.h
++++ b/src/gallium/state_trackers/dri/common/dri_drawable.h
+@@ -41,6 +41,9 @@ struct dri_drawable
+    struct st_framebuffer_iface base;
+    struct st_visual stvis;
+ 
++   struct dri_screen *screen;
++   struct dri_context *context;
++
+    /* dri */
+    __DRIdrawable *dPriv;
+    __DRIscreen *sPriv;
+--- a/src/gallium/state_trackers/dri/drm/dri2.c
++++ b/src/gallium/state_trackers/dri/drm/dri2.c
+@@ -51,7 +51,7 @@ static void
+ dri2_invalidate_drawable(__DRIdrawable *dPriv)
+ {
+    struct dri_drawable *drawable = dri_drawable(dPriv);
+-   struct dri_context *ctx = dri_context(dPriv->driContextPriv);
++   struct dri_context *ctx = drawable->context;
+ 
+    dri2InvalidateDrawable(dPriv);
+    drawable->dPriv->lastStamp = *drawable->dPriv->pStamp;
diff --git a/debian/patches/series b/debian/patches/series
index e67f79e..683d69f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -5,3 +5,4 @@
 08-kfreebsd-gallium.diff
 10-fix-talloc-linking.diff
 11-hurd-ftbfs-again.diff
+12-fix-fdo-31940.diff

commit a6761bc47b5adfa79b4dc2f5bf0887b86a3ded97
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Feb 16 01:23:54 2011 +0100

    Fix FTBFS on sparc64, treat it the same way as sparc. Thanks, Aurélien Jarno! (Closes: #613106).

diff --git a/debian/changelog b/debian/changelog
index febf5c2..c3ad4e7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -23,6 +23,8 @@ mesa (7.10-4) UNRELEASED; urgency=low
     - libgles2-mesa-dbg
     - libgles2-mesa-dev
   * Disable EGL/Gallium/GLES/state trackers on GNU/Hurd.
+  * Fix FTBFS on sparc64, treat it the same way as sparc. Thanks, Aurélien
+    Jarno! (Closes: #613106).
 
  -- Cyril Brulebois <kibi@debian.org>  Tue, 08 Feb 2011 19:19:57 +0100
 
diff --git a/debian/rules b/debian/rules
index 9e8990a..3048dd3 100755
--- a/debian/rules
+++ b/debian/rules
@@ -306,7 +306,7 @@ binary-arch: install
 		-pmesa-common-dev
 	dh_compress -s
 	dh_fixperms -s
-ifneq ($(DEB_HOST_ARCH), sparc)
+ifeq (,$(filter sparc sparc64,$(DEB_HOST_ARCH)))
 	dh_makeshlibs -s -- -c4
 else
 	# Temporarily work around FTBFS on sparc, ignore new symbols:

commit 7febebffa536992688ca0844829dd90740bdc47c
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Feb 16 01:18:24 2011 +0100

    Rename DIRECT_RENDERING for consistency.

diff --git a/debian/rules b/debian/rules
index 38929a5..9e8990a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -63,12 +63,10 @@ DRI_DRIVERS = swrast
 
 # hurd doesn't do direct rendering
 ifeq ($(DEB_HOST_ARCH_OS), hurd)
-	DIRECT_RENDERING = --disable-driglx-direct
-
+	confflags_DIRECT_RENDERING = --disable-driglx-direct
 	confflags_EGL = --disable-egl
 	confflags_GALLIUM = --disable-gallium
 else
-	DIRECT_RENDERING = --enable-driglx-direct
 	EGL_DISPLAYS = x11
 	GALLIUM_DRIVERS = swrast
 	GALLIUM_STATE_TRACKERS = egl,glx,dri,vega
@@ -92,6 +90,7 @@ else
 	GALLIUM_DRIVERS += i915
   endif
 
+	confflags_DIRECT_RENDERING = --enable-driglx-direct
 	confflags_EGL = --with-egl-platforms="$(EGL_DISPLAYS)"
 	confflags_GALLIUM = $(addprefix --enable-gallium-,$(GALLIUM_DRIVERS))
 	confflags_GLES = --enable-gles-overlay --enable-gles1 --enable-gles2
@@ -103,11 +102,11 @@ confflags-dri = \
 	--with-dri-drivers="$(DRI_DRIVERS)" \
 	--with-dri-driverdir=/usr/lib/dri \
 	--enable-glx-tls \
+	$(confflags_DIRECT_RENDERING) \
 	$(confflags_EGL) \
 	$(confflags_GALLIUM) \
 	$(confflags_GLES) \
 	$(confflags_STATE_TRACKERS) \
-	$(DIRECT_RENDERING) \
 	$(confflags-common)
 
 confflags-osmesa = \

commit 93e524e32eb5d726e5258a0aec579b399b7c4311
Author: Cyril Brulebois <kibi@debian.org>
Date:   Tue Feb 15 20:45:47 2011 +0000

    Disable EGL/Gallium/GLES/state trackers on GNU/Hurd.

diff --git a/debian/changelog b/debian/changelog
index 54e1b91..febf5c2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -22,6 +22,7 @@ mesa (7.10-4) UNRELEASED; urgency=low
     - libgles2-mesa
     - libgles2-mesa-dbg
     - libgles2-mesa-dev
+  * Disable EGL/Gallium/GLES/state trackers on GNU/Hurd.
 
  -- Cyril Brulebois <kibi@debian.org>  Tue, 08 Feb 2011 19:19:57 +0100
 
diff --git a/debian/rules b/debian/rules
index f99b73b..38929a5 100755
--- a/debian/rules
+++ b/debian/rules
@@ -60,18 +60,18 @@ confflags-common = \
 	CFLAGS="$(CFLAGS)"
 
 DRI_DRIVERS = swrast
-GALLIUM_DRIVERS = swrast
-
-# hurd doesn't do EGL/DRI2:
-ifneq ($(DEB_HOST_ARCH_OS), hurd)
-	EGL_DISPLAYS = x11
-endif
 
 # hurd doesn't do direct rendering
 ifeq ($(DEB_HOST_ARCH_OS), hurd)
 	DIRECT_RENDERING = --disable-driglx-direct
+
+	confflags_EGL = --disable-egl
+	confflags_GALLIUM = --disable-gallium
 else
 	DIRECT_RENDERING = --enable-driglx-direct
+	EGL_DISPLAYS = x11
+	GALLIUM_DRIVERS = swrast
+	GALLIUM_STATE_TRACKERS = egl,glx,dri,vega
 
   ifeq ($(DEB_HOST_ARCH_OS), linux)
 # Gallium drivers require libdrm-{nouveau,radeon}, only available on Linux
@@ -91,19 +91,22 @@ else
 	DRI_DRIVERS += i915 i965 sis unichrome
 	GALLIUM_DRIVERS += i915
   endif
+
+	confflags_EGL = --with-egl-platforms="$(EGL_DISPLAYS)"
+	confflags_GALLIUM = $(addprefix --enable-gallium-,$(GALLIUM_DRIVERS))
+	confflags_GLES = --enable-gles-overlay --enable-gles1 --enable-gles2
+	confflags_STATE_TRACKERS = --with-state-trackers="$(GALLIUM_STATE_TRACKERS)"
 endif
 
 confflags-dri = \
 	--with-driver=dri \
 	--with-dri-drivers="$(DRI_DRIVERS)" \
 	--with-dri-driverdir=/usr/lib/dri \
-	--with-egl-platforms="$(EGL_DISPLAYS)" \
 	--enable-glx-tls \
-	$(addprefix --enable-gallium-,$(GALLIUM_DRIVERS)) \
-	--with-state-trackers=egl,glx,dri,vega \
-	--enable-gles-overlay \
-	--enable-gles1 \
-	--enable-gles2 \
+	$(confflags_EGL) \
+	$(confflags_GALLIUM) \
+	$(confflags_GLES) \
+	$(confflags_STATE_TRACKERS) \
 	$(DIRECT_RENDERING) \
 	$(confflags-common)
 

commit 8c745b7cf087588d6eaf8bf90358f10016379f2d
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Feb 16 01:11:57 2011 +0100

    Make a lot of binary packages linux-any kfreebsd-any.

diff --git a/debian/changelog b/debian/changelog
index 4210e7c..54e1b91 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,6 +7,21 @@ mesa (7.10-4) UNRELEASED; urgency=low
     then the server's bug script.
   * New patch, thanks to Pino Toscano, fixing FTBFS on GNU/Hurd:
     - 11-hurd-ftbfs-again.diff
+  * Make a lot of binary packages linux-any kfreebsd-any:
+    - libegl1-mesa
+    - libegl1-mesa-dbg
+    - libegl1-mesa-dev
+    - libegl1-mesa-drivers
+    - libegl1-mesa-drivers-dbg
+    - libopenvg1-mesa
+    - libopenvg1-mesa-dbg
+    - libopenvg1-mesa-dev
+    - libgles1-mesa
+    - libgles1-mesa-dbg
+    - libgles1-mesa-dev
+    - libgles2-mesa
+    - libgles2-mesa-dbg
+    - libgles2-mesa-dev
 
  -- Cyril Brulebois <kibi@debian.org>  Tue, 08 Feb 2011 19:19:57 +0100
 
diff --git a/debian/control b/debian/control
index 38bfcf7..2cd81cd 100644
--- a/debian/control
+++ b/debian/control
@@ -119,7 +119,7 @@ Description: A free implementation of the OpenGL API -- development files
 
 Package: libegl1-mesa
 Section: libs
-Architecture: any
+Architecture: linux-any kfreebsd-any
 Depends:
  ${shlibs:Depends},
  ${misc:Depends},
@@ -139,7 +139,7 @@ Description: A free implementation of the EGL API -- runtime
 Package: libegl1-mesa-dbg
 Section: debug
 Priority: extra
-Architecture: any
+Architecture: linux-any kfreebsd-any
 Depends:
  libegl1-mesa (= ${binary:Version}),
  ${misc:Depends},
@@ -152,7 +152,7 @@ Description: A free implementation of the EGL API -- debugging symbols
 
 Package: libegl1-mesa-dev
 Section: libdevel
-Architecture: any
+Architecture: linux-any kfreebsd-any
 Depends:
  libegl1-mesa (= ${binary:Version}),
  libdrm-dev (>= 2.4.19) [!hurd-i386],
@@ -175,7 +175,7 @@ Description: A free implementation of the EGL API -- development files
 
 Package: libegl1-mesa-drivers
 Section: libs
-Architecture: any
+Architecture: linux-any kfreebsd-any
 Depends:
  ${shlibs:Depends},
  ${misc:Depends},
@@ -191,7 +191,7 @@ Description: A free implementation of the EGL API -- hardware drivers
 Package: libegl1-mesa-drivers-dbg
 Section: debug
 Priority: extra
-Architecture: any
+Architecture: linux-any kfreebsd-any
 Depends:
  libegl1-mesa-drivers (= ${binary:Version}),
  ${misc:Depends},
@@ -205,7 +205,7 @@ Description: A free implementation of the EGL API -- driver debugging symbols
 
 Package: libopenvg1-mesa
 Section: libs
-Architecture: any
+Architecture: linux-any kfreebsd-any
 Depends:
  ${shlibs:Depends},
  ${misc:Depends},
@@ -222,7 +222,7 @@ Description: A free implementation of the OpenVG API -- runtime
 Package: libopenvg1-mesa-dbg
 Section: debug
 Priority: extra
-Architecture: any
+Architecture: linux-any kfreebsd-any
 Depends:
  libopenvg1-mesa (= ${binary:Version}),
  ${misc:Depends},
@@ -237,7 +237,7 @@ Description: A free implementation of the OpenVG API -- debugging symbols
 
 Package: libopenvg1-mesa-dev
 Section: libdevel
-Architecture: any
+Architecture: linux-any kfreebsd-any
 Depends:
  libopenvg1-mesa (= ${binary:Version}),
  libegl1-mesa-dev,
@@ -254,7 +254,7 @@ Description: A free implementation of the OpenVG API -- development files
 
 Package: libgles1-mesa
 Section: libs
-Architecture: any
+Architecture: linux-any kfreebsd-any
 Depends:
  ${shlibs:Depends},
  ${misc:Depends},
@@ -272,7 +272,7 @@ Description: A free implementation of the OpenGL|ES 1.x API -- runtime
 Package: libgles1-mesa-dbg
 Section: debug
 Priority: extra
-Architecture: any
+Architecture: linux-any kfreebsd-any
 Depends:
  libgles1-mesa (= ${binary:Version}),
  ${misc:Depends},
@@ -288,7 +288,7 @@ Description: A free implementation of the OpenGL|ES 1.x API -- debugging symbols
 
 Package: libgles1-mesa-dev
 Section: libdevel
-Architecture: any
+Architecture: linux-any kfreebsd-any
 Depends:
  libgles1-mesa (= ${binary:Version}),
  libegl1-mesa-dev,
@@ -306,7 +306,7 @@ Description: A free implementation of the OpenGL|ES 1.x API -- development files
 
 Package: libgles2-mesa
 Section: libs
-Architecture: any
+Architecture: linux-any kfreebsd-any
 Depends:
  ${shlibs:Depends},
  ${misc:Depends},
@@ -325,7 +325,7 @@ Description: A free implementation of the OpenGL|ES 2.x API -- runtime
 Package: libgles2-mesa-dbg
 Section: debug
 Priority: extra
-Architecture: any
+Architecture: linux-any kfreebsd-any
 Depends:
  libgles2-mesa (= ${binary:Version}),
  ${misc:Depends},
@@ -342,7 +342,7 @@ Description: A free implementation of the OpenGL|ES 2.x API -- debugging symbols
 
 Package: libgles2-mesa-dev
 Section: libdevel
-Architecture: any
+Architecture: linux-any kfreebsd-any
 Depends:
  libgles2-mesa (= ${binary:Version}),
  libegl1-mesa-dev,

commit a4296d8f4e6af74091ad70a5dc2e079aa1a875cd
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Feb 16 01:10:56 2011 +0100

    New patch, thanks to Pino Toscano, fixing FTBFS on GNU/Hurd.

diff --git a/debian/changelog b/debian/changelog
index d9c2e60..4210e7c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,8 @@ mesa (7.10-4) UNRELEASED; urgency=low
   * debian/local/control: Report-with: xserver-xorg{,-core}.
   * debian/local/script: New bug script, calling glxinfo if available,
     then the server's bug script.
+  * New patch, thanks to Pino Toscano, fixing FTBFS on GNU/Hurd:
+    - 11-hurd-ftbfs-again.diff
 
  -- Cyril Brulebois <kibi@debian.org>  Tue, 08 Feb 2011 19:19:57 +0100
 
diff --git a/debian/patches/11-hurd-ftbfs-again.diff b/debian/patches/11-hurd-ftbfs-again.diff
new file mode 100644
index 0000000..8c4a86b
--- /dev/null
+++ b/debian/patches/11-hurd-ftbfs-again.diff
@@ -0,0 +1,87 @@
+From c43546d2c9d877df6963a18f93377f93a169d43a Mon Sep 17 00:00:00 2001
+From: Cyril Brulebois <kibi@debian.org>
+Date: Sun, 13 Feb 2011 06:58:45 +0000
+Subject: [PATCH] Fix FTBFS on GNU/Hurd due to missing PIPE_OS_HURD detection.
+
+Thanks to Pino Toscano.
+
+Signed-off-by: Cyril Brulebois <kibi@debian.org>
+---
+ src/gallium/auxiliary/os/os_thread.h |   12 ++++++------
+ src/gallium/auxiliary/os/os_time.c   |    2 +-
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/src/gallium/auxiliary/os/os_thread.h b/src/gallium/auxiliary/os/os_thread.h
+index a084310..69b61c3 100644
+--- a/src/gallium/auxiliary/os/os_thread.h
++++ b/src/gallium/auxiliary/os/os_thread.h
+@@ -40,7 +40,7 @@
+ #include "util/u_debug.h" /* for assert */
+ 
+ 
+-#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED) || defined(PIPE_OS_CYGWIN)
++#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED) || defined(PIPE_OS_CYGWIN) || defined(PIPE_OS_HURD)
+ 
+ #include <pthread.h> /* POSIX threads headers */
+ #include <stdio.h> /* for perror() */
+@@ -306,7 +306,7 @@ typedef int64_t pipe_condvar;
+  * pipe_barrier
+  */
+ 
+-#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED)
++#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED) || defined(PIPE_OS_HURD)
+ 
+ typedef pthread_barrier_t pipe_barrier;
+ 
+@@ -434,7 +434,7 @@ pipe_semaphore_wait(pipe_semaphore *sema)
+  */
+ 
+ typedef struct {
+-#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED) || defined(PIPE_OS_CYGWIN)
++#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED) || defined(PIPE_OS_CYGWIN) || defined(PIPE_OS_HURD)
+    pthread_key_t key;
+ #elif defined(PIPE_SUBSYSTEM_WINDOWS_USER)
+    DWORD key;
+@@ -449,7 +449,7 @@ typedef struct {
+ static INLINE void
+ pipe_tsd_init(pipe_tsd *tsd)
+ {
+-#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED) || defined(PIPE_OS_CYGWIN)
++#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED) || defined(PIPE_OS_CYGWIN) || defined(PIPE_OS_HURD)
+    if (pthread_key_create(&tsd->key, NULL/*free*/) != 0) {
+       perror("pthread_key_create(): failed to allocate key for thread specific data");
+       exit(-1);
+@@ -466,7 +466,7 @@ pipe_tsd_get(pipe_tsd *tsd)
+    if (tsd->initMagic != (int) PIPE_TSD_INIT_MAGIC) {
+       pipe_tsd_init(tsd);
+    }
+-#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED) || defined(PIPE_OS_CYGWIN)
++#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED) || defined(PIPE_OS_CYGWIN) || defined(PIPE_OS_HURD)
+    return pthread_getspecific(tsd->key);
+ #elif defined(PIPE_SUBSYSTEM_WINDOWS_USER)
+    assert(0);
+@@ -483,7 +483,7 @@ pipe_tsd_set(pipe_tsd *tsd, void *value)
+    if (tsd->initMagic != (int) PIPE_TSD_INIT_MAGIC) {
+       pipe_tsd_init(tsd);
+    }
+-#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED) || defined(PIPE_OS_CYGWIN)
++#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_EMBEDDED) || defined(PIPE_OS_CYGWIN) || defined(PIPE_OS_HURD)
+    if (pthread_setspecific(tsd->key, value) != 0) {
+       perror("pthread_set_specific() failed");
+       exit(-1);
+diff --git a/src/gallium/auxiliary/os/os_time.c b/src/gallium/auxiliary/os/os_time.c
+index 8490721..edf9483 100644
+--- a/src/gallium/auxiliary/os/os_time.c
++++ b/src/gallium/auxiliary/os/os_time.c
+@@ -37,7 +37,7 @@
+ 
+ #if !defined(PIPE_OS_EMBEDDED)
+ 
+-#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_CYGWIN)
++#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_BSD) || defined(PIPE_OS_SOLARIS) || defined(PIPE_OS_APPLE) || defined(PIPE_OS_HAIKU) || defined(PIPE_OS_CYGWIN) || defined(PIPE_OS_HURD)
+ #  include <sys/time.h> /* timeval */
+ #elif defined(PIPE_SUBSYSTEM_WINDOWS_DISPLAY)
+ #  include <windows.h>
+-- 
+1.7.1
+
diff --git a/debian/patches/series b/debian/patches/series
index 2d471e2..e67f79e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,3 +4,4 @@
 06_kfreebsd-ftbfs.diff
 08-kfreebsd-gallium.diff
 10-fix-talloc-linking.diff
+11-hurd-ftbfs-again.diff

commit 7699c1b0144ec131eab98cbc71fbfc0614926870
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Feb 9 17:19:06 2011 +0100

    Finally install bug control & script.

diff --git a/debian/rules b/debian/rules
index a635c76..f99b73b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -271,6 +271,12 @@ binary-arch: install
 	dh_installman -s
 	dh_lintian -s
 	dh_link -s
+	# Install bug control and script:
+	set -e; for p in `dh_listpackages -s`; do \
+		install -d debian/$$p/usr/share/bug/$$p && \
+		install -m 644 debian/local/control debian/$$p/usr/share/bug/$$p && \
+		install -m 755 debian/local/script  debian/$$p/usr/share/bug/$$p; \
+	done
 	dh_strip -plibgl1-mesa-swx11 --dbg-package=libgl1-mesa-swx11-dbg
 	dh_strip -plibgl1-mesa-glx --dbg-package=libgl1-mesa-glx-dbg
 	dh_strip -plibgl1-mesa-dri --dbg-package=libgl1-mesa-dri-dbg

commit ee6b47cee90c80d6cdda19e021bfeb4625293828
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Feb 9 17:12:26 2011 +0100

    debian/local/control: Report-with: xserver-xorg{,-core}.

diff --git a/debian/changelog b/debian/changelog
index f3527ae..d9c2e60 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ mesa (7.10-4) UNRELEASED; urgency=low
 
   * debian/not-installed: Ignore the same files on kfreebsd-i386 as i386.
   * debian/rules: Don't try to build the x11 EGL display on hurd-i386.
+  * debian/local/control: Report-with: xserver-xorg{,-core}.
   * debian/local/script: New bug script, calling glxinfo if available,
     then the server's bug script.
 
diff --git a/debian/local/control b/debian/local/control
new file mode 100644
index 0000000..ffd3ee4
--- /dev/null
+++ b/debian/local/control
@@ -0,0 +1 @@
+report-with: xserver-xorg xserver-xorg-core

commit de6969989826bfb207c2b9332bb7a94ee26de23e
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Feb 9 17:09:52 2011 +0100

    debian/local/script: New bug script, calling glxinfo if available, then the server's bug script.

diff --git a/debian/changelog b/debian/changelog
index da2cc5f..f3527ae 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,8 @@ mesa (7.10-4) UNRELEASED; urgency=low
 
   * debian/not-installed: Ignore the same files on kfreebsd-i386 as i386.
   * debian/rules: Don't try to build the x11 EGL display on hurd-i386.
+  * debian/local/script: New bug script, calling glxinfo if available,
+    then the server's bug script.
 
  -- Cyril Brulebois <kibi@debian.org>  Tue, 08 Feb 2011 19:19:57 +0100
 
diff --git a/debian/local/script b/debian/local/script
new file mode 100644
index 0000000..fb6b56c
--- /dev/null
+++ b/debian/local/script
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+SERVER_BUG_SCRIPT=/usr/share/bug/xserver-xorg-core/script
+
+exec >&3
+
+echo "glxinfo:"
+echo "--------"
+
+if [ -z "$DISPLAY" ]; then
+    echo "DISPLAY is not set."
+else
+    if which glxinfo >/dev/null 2>&1; then
+        glxinfo
+    else
+        echo "glxinfo is not available (missing mesa-utils package)."
+    fi
+fi
+
+echo
+
+if [ -x "$SERVER_BUG_SCRIPT" ]; then
+    $SERVER_BUG_SCRIPT 3>&1
+else
+    echo "$SERVER_BUG_SCRIPT not available"
+fi

commit ea8f7f99dda56cb55f948782e8595fa1782208c9
Author: Cyril Brulebois <kibi@debian.org>
Date:   Wed Feb 9 12:06:01 2011 +0100

    debian/rules: Don't try to build the x11 EGL display on hurd-i386.

diff --git a/debian/changelog b/debian/changelog
index 71e9aee..da2cc5f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
 mesa (7.10-4) UNRELEASED; urgency=low
 
   * debian/not-installed: Ignore the same files on kfreebsd-i386 as i386.
+  * debian/rules: Don't try to build the x11 EGL display on hurd-i386.
 
  -- Cyril Brulebois <kibi@debian.org>  Tue, 08 Feb 2011 19:19:57 +0100
 
diff --git a/debian/rules b/debian/rules
index 8353f05..a635c76 100755
--- a/debian/rules
+++ b/debian/rules
@@ -61,7 +61,11 @@ confflags-common = \
 
 DRI_DRIVERS = swrast
 GALLIUM_DRIVERS = swrast
-EGL_DISPLAYS = x11
+
+# hurd doesn't do EGL/DRI2:
+ifneq ($(DEB_HOST_ARCH_OS), hurd)
+	EGL_DISPLAYS = x11
+endif
 
 # hurd doesn't do direct rendering
 ifeq ($(DEB_HOST_ARCH_OS), hurd)


Reply to: