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

Bug#684593: marked as done ([libkms]: also build on kfreebsd)



Your message dated Wed, 21 Aug 2013 19:18:15 +0000
with message-id <E1VCDv5-0008GN-EC@franck.debian.org>
and subject line Bug#684593: fixed in libdrm 2.4.46-2
has caused the Debian Bug report #684593,
regarding [libkms]: also build on kfreebsd
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
684593: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=684593
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: src:libdrm
Version: 2.4.33-3.1
Severity: wishlist
Tags: patch
User: debian-bsd@lists.debian.org
Usertags: kfreebsd
X-Debbugs-Cc: debian-bsd@lists.debian.org

Hi!

  With the kfreebsd-10 kernel currently in experimental it is possible
to run intel kms drivers also on kfreebsd. A libkms1 is necessary to
make this work. Patch for the source is from upstream FreeBSD [0][1]
with slight modification to also work on kfreebsd.

Regards

    Christoph

[0] http://wiki.freebsd.org/Intel_GPU
[1] http://people.freebsd.org/~kib/drm/libdrm.2.patch
-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: kfreebsd-amd64 (x86_64)

Kernel: kFreeBSD 10.0-0-amd64
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libkms1 depends on:
ii  libc0.1            2.13-33
ii  libdrm2            2.4.33-3.1
ii  multiarch-support  2.13-33

libkms1 recommends no packages.

libkms1 suggests no packages.

-- no debconf information

-- 
>From 0cd52e50630c10e8f7b45bca3a1ae634f94b6995 Mon Sep 17 00:00:00 2001
From: Christoph Egger <christoph@debian.org>
Date: Sat, 11 Aug 2012 17:01:25 +0200
Subject: [PATCH] Build libkms also on kfreebsd

---
 debian/control                              |    4 +-
 debian/libkms1.symbols.kfreebsd-amd64       |   13 ++++++
 debian/libkms1.symbols.kfreebsd-i386        |   13 ++++++
 debian/patches/04_build_kms_on_freebsd.diff |   65 +++++++++++++++++++++++++++
 debian/patches/series                       |    1 +
 debian/rules                                |    7 ++-
 6 files changed, 100 insertions(+), 3 deletions(-)
 create mode 100644 debian/libkms1.symbols.kfreebsd-amd64
 create mode 100644 debian/libkms1.symbols.kfreebsd-i386
 create mode 100644 debian/patches/04_build_kms_on_freebsd.diff

diff --git a/debian/control b/debian/control
index 5b5d9f6..64a2a62 100644
--- a/debian/control
+++ b/debian/control
@@ -164,7 +164,7 @@ Description: Userspace interface to radeon-specific kernel DRM services -- debug
 
 Package: libkms1
 Section: libs
-Architecture: linux-any
+Architecture: linux-any kfreebsd-any
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
@@ -175,7 +175,7 @@ Description: Userspace interface to kernel DRM buffer management
 Package: libkms1-dbg
 Section: debug
 Priority: extra
-Architecture: linux-any
+Architecture: linux-any kfreebsd-any
 Depends: libkms1 (= ${binary:Version}), ${misc:Depends}
 Multi-Arch: same
 Description: Userspace interface to kernel DRM buffer management -- debugging symbols
diff --git a/debian/libkms1.symbols.kfreebsd-amd64 b/debian/libkms1.symbols.kfreebsd-amd64
new file mode 100644
index 0000000..3e23666
--- /dev/null
+++ b/debian/libkms1.symbols.kfreebsd-amd64
@@ -0,0 +1,13 @@
+libkms.so.1 libkms1 #MINVER#
+| libkms-private
+ dumb_create@Base 0 1
+ intel_create@Base 0 1
+ kms_bo_create@Base 0
+ kms_bo_destroy@Base 0
+ kms_bo_get_prop@Base 0
+ kms_bo_map@Base 0
+ kms_bo_unmap@Base 0
+ kms_create@Base 0
+ kms_destroy@Base 0
+ kms_get_prop@Base 0
+ linux_create@Base 0 1
diff --git a/debian/libkms1.symbols.kfreebsd-i386 b/debian/libkms1.symbols.kfreebsd-i386
new file mode 100644
index 0000000..3e23666
--- /dev/null
+++ b/debian/libkms1.symbols.kfreebsd-i386
@@ -0,0 +1,13 @@
+libkms.so.1 libkms1 #MINVER#
+| libkms-private
+ dumb_create@Base 0 1
+ intel_create@Base 0 1
+ kms_bo_create@Base 0
+ kms_bo_destroy@Base 0
+ kms_bo_get_prop@Base 0
+ kms_bo_map@Base 0
+ kms_bo_unmap@Base 0
+ kms_create@Base 0
+ kms_destroy@Base 0
+ kms_get_prop@Base 0
+ linux_create@Base 0 1
diff --git a/debian/patches/04_build_kms_on_freebsd.diff b/debian/patches/04_build_kms_on_freebsd.diff
new file mode 100644
index 0000000..c91ff17
--- /dev/null
+++ b/debian/patches/04_build_kms_on_freebsd.diff
@@ -0,0 +1,65 @@
+Index: libdrm/configure.ac
+===================================================================
+--- libdrm.orig/configure.ac	2012-08-11 17:00:45.000000000 +0200
++++ libdrm/configure.ac	2012-08-11 17:01:05.391895625 +0200
+@@ -170,6 +170,7 @@
+ if test "x$LIBKMS" = xauto ; then
+ 	case $host_os in
+ 		linux*)		LIBKMS="yes" ;;
++		*freebsd*)	LIBKMS="yes" ;;
+ 		*)		LIBKMS="no" ;;
+ 	esac
+ fi
+Index: libdrm/xf86drmMode.c
+===================================================================
+--- libdrm.orig/xf86drmMode.c	2012-08-11 17:00:45.000000000 +0200
++++ libdrm/xf86drmMode.c	2012-08-11 17:01:05.401896741 +0200
+@@ -686,7 +686,7 @@
+ */
+ int drmCheckModesettingSupported(const char *busid)
+ {
+-#ifdef __linux__
++#if defined (__linux__)
+ 	char pci_dev_dir[1024];
+ 	int domain, bus, dev, func;
+ 	DIR *sysdir;
+@@ -736,6 +736,39 @@
+ 	closedir(sysdir);
+ 	if (found)
+ 		return 0;
++#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
++	char kbusid[1024], sbusid[1024];
++	char oid[128];
++	int domain, bus, dev, func;
++	int i, modesetting, ret;
++	size_t len;
++
++	ret = sscanf(busid, "pci:%04x:%02x:%02x.%d", &domain, &bus, &dev,
++	    &func);
++	if (ret != 4)
++		return -EINVAL;
++	snprintf(kbusid, sizeof(kbusid), "pci:%04x:%02x:%02x.%d", domain, bus,
++	    dev, func);
++
++	/* How many GPUs do we expect in the machine ? */
++	for (i = 0; i < 16; i++) {
++		snprintf(oid, sizeof(oid), "hw.dri.%d.busid", i);
++		len = sizeof(sbusid);
++		ret = sysctlbyname(oid, sbusid, &len, NULL, 0);
++		if (ret == -1) {
++			if (errno == ENOENT)
++				continue;
++			return -EINVAL;
++		}
++		if (strcmp(sbusid, kbusid) != 0)
++			continue;
++		snprintf(oid, sizeof(oid), "hw.dri.%d.modesetting", i);
++		len = sizeof(modesetting);
++		ret = sysctlbyname(oid, &modesetting, &len, NULL, 0);
++		if (ret == -1 || len != sizeof(modesetting))
++			return -EINVAL;
++		return (modesetting ? 0 : -ENOSYS);
++	}
+ #endif
+ 	return -ENOSYS;
+ 
diff --git a/debian/patches/series b/debian/patches/series
index b1a73f8..abec0f5 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
 01_default_perms.diff
 02_build_libkms_against_in_tree_drm.diff
 03_build_against_librt.diff
+04_build_kms_on_freebsd.diff
diff --git a/debian/rules b/debian/rules
index 44926b1..68a5d54 100755
--- a/debian/rules
+++ b/debian/rules
@@ -19,9 +19,14 @@ ifeq (linux, $(DEB_HOST_ARCH_OS))
 	confflags += --enable-radeon
 	RADEON = yes
 else
-	confflags += --disable-udev
+  ifeq (kfreebsd, $(DEB_HOST_ARCH_OS))
+	confflags += --enable-libkms
+	LIBKMS = yes
+  else
 	confflags += --disable-libkms
 	LIBKMS = no
+  endif
+	confflags += --disable-udev
 	confflags += --disable-vmwgfx-experimental-api
 	confflags += --disable-nouveau-experimental-api
 	NOUVEAU = no
-- 
1.7.10.4


--- End Message ---
--- Begin Message ---
Source: libdrm
Source-Version: 2.4.46-2

We believe that the bug you reported is fixed in the latest version of
libdrm, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 684593@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Julien Cristau <jcristau@debian.org> (supplier of updated libdrm package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Wed, 21 Aug 2013 21:05:44 +0200
Source: libdrm
Binary: libdrm-dev libdrm2 libdrm2-udeb libdrm2-dbg libdrm-intel1 libdrm-intel1-dbg libdrm-nouveau2 libdrm-nouveau2-dbg libdrm-radeon1 libdrm-radeon1-dbg libkms1 libkms1-dbg libdrm-omap1 libdrm-omap1-dbg
Architecture: source amd64
Version: 2.4.46-2
Distribution: sid
Urgency: low
Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
Changed-By: Julien Cristau <jcristau@debian.org>
Description: 
 libdrm-dev - Userspace interface to kernel DRM services -- development files
 libdrm-intel1 - Userspace interface to intel-specific kernel DRM services -- runt
 libdrm-intel1-dbg - Userspace interface to intel-specific kernel DRM services -- debu
 libdrm-nouveau2 - Userspace interface to nouveau-specific kernel DRM services -- ru
 libdrm-nouveau2-dbg - Userspace interface to nouveau-specific kernel DRM -- debugging s
 libdrm-omap1 - Userspace interface to omap-specific kernel DRM services -- runti
 libdrm-omap1-dbg - Userspace interface to omap-specific kernel DRM services -- debug
 libdrm-radeon1 - Userspace interface to radeon-specific kernel DRM services -- run
 libdrm-radeon1-dbg - Userspace interface to radeon-specific kernel DRM services -- deb
 libdrm2    - Userspace interface to kernel DRM services -- runtime
 libdrm2-dbg - Userspace interface to kernel DRM services -- debugging symbols
 libdrm2-udeb - Userspace interface to kernel DRM services -- runtime (udeb)
 libkms1    - Userspace interface to kernel DRM buffer management
 libkms1-dbg - Userspace interface to kernel DRM buffer management -- debugging
Closes: 684593
Changes: 
 libdrm (2.4.46-2) unstable; urgency=low
 .
   * Build libdrm-radeon1 on kfreebsd (closes: #684593).
Checksums-Sha1: 
 b9d3dfa9d9f3fcbfb5ea2ac1d6775e462521dc2c 2669 libdrm_2.4.46-2.dsc
 64ff2d9017e51d3d69be59de01b05fb03a595da7 460681 libdrm_2.4.46-2.diff.gz
 4150fdcc776ff8f244d19d10b2f6c4e175512bee 612576 libdrm-dev_2.4.46-2_amd64.deb
 f08c707ee64611e2cd6c0442760e4ad4a7a62f24 466292 libdrm2_2.4.46-2_amd64.deb
 ae79a98efa5b465e024e22279047fa5ee416173b 18140 libdrm2-udeb_2.4.46-2_amd64.udeb
 9760815a98f8632c56a51af1eff4f3de8de13db8 492858 libdrm2-dbg_2.4.46-2_amd64.deb
 465ca64819c47bd95ffea2038f27e3df5dafa77d 498598 libdrm-intel1_2.4.46-2_amd64.deb
 e9ebf0ec4f0d9a6a350a56e406595dd3b148c608 538304 libdrm-intel1-dbg_2.4.46-2_amd64.deb
 355263fbefaefd6cc79f4d83d458e3493f0012b4 458102 libdrm-nouveau2_2.4.46-2_amd64.deb
 1d2c254fdaad50f92a0be2c51933f0e17b794195 471406 libdrm-nouveau2-dbg_2.4.46-2_amd64.deb
 63fa48228f058546bc312aca3e2de726b0e4fc3d 467132 libdrm-radeon1_2.4.46-2_amd64.deb
 554441eb7720ab00a90fce8f6ffff03e913bccfc 489582 libdrm-radeon1-dbg_2.4.46-2_amd64.deb
 7f0c630ee3911d6171df3469e50c9a5dfe931490 452664 libkms1_2.4.46-2_amd64.deb
 2043b4bdea1dd0bbc55ce8a6b73a6a911f96fb30 465120 libkms1-dbg_2.4.46-2_amd64.deb
Checksums-Sha256: 
 60009a513acc2d1716fd059cda2a632d51d1399e0265ed141d4b5ce038a18b2d 2669 libdrm_2.4.46-2.dsc
 fdbf8236922e0ad61c7515908cadcb0bdadb5ce8cc65ede305f2a137bd1719ca 460681 libdrm_2.4.46-2.diff.gz
 3f5460fbe545541821444d23ed34e44144652868c2351a199b387af55f1262e3 612576 libdrm-dev_2.4.46-2_amd64.deb
 4047fb97905449c648029bd216b6438d523c151adcaab4646550568db9debb79 466292 libdrm2_2.4.46-2_amd64.deb
 f3b0c0bb7e24a9dfa2d9f16a3d00f4ac962af9f8cd02a332092ebdaee7e5fe9f 18140 libdrm2-udeb_2.4.46-2_amd64.udeb
 e643ae99e70b9139dda832917c3e4775c66bb4494016c53c8d41c1ef0755209c 492858 libdrm2-dbg_2.4.46-2_amd64.deb
 dfe2c296b77a1f00a3555727c9896099c4912ae72b11029895e30db3ef1c4ce8 498598 libdrm-intel1_2.4.46-2_amd64.deb
 67a0b0ff2201231153125caafea58d3380073952ca76f1ef0a472528fd071cf9 538304 libdrm-intel1-dbg_2.4.46-2_amd64.deb
 5d4bc7d52972de201c2dccf5b4ed6caec394276d80b41b7abb7bb504f83c55bc 458102 libdrm-nouveau2_2.4.46-2_amd64.deb
 a2ae83dc5dd0d9b38affd8aceb9582dc67da9377d53780d6259b27acc7dfb92d 471406 libdrm-nouveau2-dbg_2.4.46-2_amd64.deb
 b04f1e034ee43ffb3c6d72f6283d5482dc96dc2c609f7ac570dde31d0baad5b1 467132 libdrm-radeon1_2.4.46-2_amd64.deb
 d274b953841e156b35d988e0258e89174b9acc69eb0359a223e54aa383e68699 489582 libdrm-radeon1-dbg_2.4.46-2_amd64.deb
 47ec8210e356a10e1bc72838a75265df8d57773e90925717c2f0c122b89e7adf 452664 libkms1_2.4.46-2_amd64.deb
 d4350e85346b16d5f77d85b593234abe5868c54e340f3f118efb7a0a4c20dc48 465120 libkms1-dbg_2.4.46-2_amd64.deb
Files: 
 011fa0ab6cd07402dd1e724afccaa403 2669 libs optional libdrm_2.4.46-2.dsc
 606b1cf1474e7840e419666ec02c963f 460681 libs optional libdrm_2.4.46-2.diff.gz
 24770a24651bd6e237985ef0f6161cce 612576 libdevel optional libdrm-dev_2.4.46-2_amd64.deb
 c70f0dbdb76aa910c48749e92eb12d84 466292 libs optional libdrm2_2.4.46-2_amd64.deb
 ae9bda96f9097b5bf120da35f5328f31 18140 debian-installer optional libdrm2-udeb_2.4.46-2_amd64.udeb
 348f4aef432d8b5a04eabc660bfe32e0 492858 debug extra libdrm2-dbg_2.4.46-2_amd64.deb
 c11b348360cddbf2d5d23568863a7192 498598 libs optional libdrm-intel1_2.4.46-2_amd64.deb
 1b2c82ef09753e00965395d6e3c9e64a 538304 debug extra libdrm-intel1-dbg_2.4.46-2_amd64.deb
 16d62e00da0199a074433108057bf9e8 458102 libs optional libdrm-nouveau2_2.4.46-2_amd64.deb
 2d5831b4315614b9f0f055adc29832c6 471406 debug extra libdrm-nouveau2-dbg_2.4.46-2_amd64.deb
 a56ca43c863773e6d99b264c1e6146d2 467132 libs optional libdrm-radeon1_2.4.46-2_amd64.deb
 4ec128b3bf5329f4a3fb83b590358941 489582 debug extra libdrm-radeon1-dbg_2.4.46-2_amd64.deb
 2272e3b833c2e6fe8fb4d7f264c93d7f 452664 libs optional libkms1_2.4.46-2_amd64.deb
 0bf19a361e2a2c9fb364a1429217af2b 465120 debug extra libkms1-dbg_2.4.46-2_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.14 (GNU/Linux)

iQIcBAEBAgAGBQJSFRC2AAoJEDEBgAUJBeQM0egQAMo+L7VHOpTbTLygYnsYQ4DK
iBbMW6ZjlzTAlEe1wZvoI1wkmFf/3cpFLw/uA5sFX1xdoMmXxF6k9s4x3VAzcmwD
Z/eYdRJ98jafFtRrJwhXu0MZ9Um41ubqfCbnIGgyDOoGFbWOiT5tYe2Q8v9bmRQO
sJkYjTjTJ6Cqt3IrryODPmVfaxK5PCiY1f4IICVWcsnuWZgeH3kdGVRa3QZ7wXgs
GEKZhqdb1sdICYBUVIkMT6L/YkPfllGb4Nm1+lreguFmSrG9UBXupL2P9qXdl7hG
Mt+pVIW44iJpLJJ/Mg3sQf/GJazJxL42OfLjSHaSDxIRdxJ8emPbSPOoi+R94SrY
TYhUjCjXh7YJqnW7WXK1xtV3cfgvK1x/DYUZt2t+AnnvnUUjh4Awqgo5bpYvITsn
yCPto5MQ0tkFZxx9WY4KpTHxcLXVj4A+u8ub64dYzoeLGDjQHXGQKoYJaeZnd/wt
bROm1CUvJ+1L2CY4P1z/JpxYVpwvOEAeNY/xMhTFrwb2u84bD4/I6+S4QfGbGRIm
cW/vOnjwaYw5JxIr82RtOe6LgsMDDSOtBpAVINJW6jDDlSLd9F6eYLf5ISBL+hVV
+qRpRqOjGbhsdW/BtXFeKc8kDfpFHN1HrbA623vb+57nlWiBQDaVAw5E9S6m7uxO
WlLXSjVgqusVYMtg40Jj
=/4y5
-----END PGP SIGNATURE-----

--- End Message ---

Reply to: