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

Bug#696665: unblock: libdrm/2.4.40-1~deb7u1 (pre-approval, hw support)



On Sun, Jan  6, 2013 at 12:29:20 +0100, Julien Cristau wrote:

> On Fri, Jan  4, 2013 at 23:07:27 +0000, Adam D. Barratt wrote:
> 
> > Please go ahead.
> > 
> Thanks.  Uploaded last night.  Unfortunately FTBFS on kbsd, I'll work on
> a fix...
> 
Fix uploaded (and built).  Additional changes:

diff --git a/debian/changelog b/debian/changelog
index 653e7e9..ce42af2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+libdrm (2.4.40-1~deb7u2) sid; urgency=low
+
+  * Fix FTBFS on kfreebsd:
+    - fix missing ETIME (cherry-picked from upstream)
+    - work around missing O_CLOEXEC
+
+ -- Julien Cristau <jcristau@debian.org>  Sun, 06 Jan 2013 12:46:52 +0100
+
 libdrm (2.4.40-1~deb7u1) sid; urgency=low
 
   * Revert nouveau to the 2.4.33 state (ie before the rewrite).
diff --git a/debian/patches/intel-cloexec-kbsd.diff b/debian/patches/intel-cloexec-kbsd.diff
new file mode 100644
index 0000000..6772721
--- /dev/null
+++ b/debian/patches/intel-cloexec-kbsd.diff
@@ -0,0 +1,30 @@
+From 5488edc26442124dc8e8498336982e34a2ddb3e7 Mon Sep 17 00:00:00 2001
+From: Julien Cristau <jcristau@debian.org>
+Date: Sun, 6 Jan 2013 12:42:18 +0100
+Subject: [PATCH] intel: work around the lack of O_CLOEXEC definition on
+ kfreebsd
+
+Provide our own instead, per
+http://svnweb.freebsd.org/base/head/sys/sys/fcntl.h?r1=219999&r2=219998&pathrev=219999
+---
+ intel/intel_bufmgr_gem.c |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c
+index 512bc6f..bc035af 100644
+--- a/intel/intel_bufmgr_gem.c
++++ b/intel/intel_bufmgr_gem.c
+@@ -2470,6 +2470,10 @@ drm_intel_bo_gem_create_from_prime(drm_intel_bufmgr *bufmgr, int prime_fd, int s
+ 	return &bo_gem->bo;
+ }
+ 
++/* XXX hack for kfreebsd */
++#if !defined(O_CLOEXEC) && defined(__FreeBSD_kernel__)
++#define O_CLOEXEC 0x00100000
++#endif
+ int
+ drm_intel_bo_gem_export_to_prime(drm_intel_bo *bo, int *prime_fd)
+ {
+-- 
+1.7.10.4
+
diff --git a/debian/patches/series b/debian/patches/series
index c20e4b9..a21307d 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
 01_default_perms.diff
 03_build_against_librt.diff
 revert-nouveau-rewrite.diff
+intel-cloexec-kbsd.diff
diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c
index 8d45839..512bc6f 100644
--- a/intel/intel_bufmgr_gem.c
+++ b/intel/intel_bufmgr_gem.c
@@ -54,6 +54,9 @@
 #include <stdbool.h>
 
 #include "errno.h"
+#ifndef ETIME
+#define ETIME ETIMEDOUT
+#endif
 #include "libdrm_lists.h"
 #include "intel_bufmgr.h"
 #include "intel_bufmgr_priv.h"

Cheers,
Julien

Attachment: signature.asc
Description: Digital signature


Reply to: