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