--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package beignet
* Statically link to LLVM to allow installation together with
mesa-opencl-icd (workaround for #852746).
This is really a libllvm bug (shared library with global state), but
really fixing it there probably isn't feasible at this point.
Security team approved in
https://lists.alioth.debian.org/pipermail/pkg-opencl-devel/Week-of-Mon-20170220/001364.html
* Disable OpenCL 2.0 on i386, as it is likely to crash.
(Closes: #855651)
Important bug, previously missed because my hardware doesn't support 2.0.
* Add missing build-dependencies on x32 to fix FTBFS.
This didn't actually work (looks like x32's 3.9~something identifies as
3.9 but acts like 3.8 in some of the ways that matter for OpenCL; it
couldn't be tested before upload because x32 isn't currently
debootstrappable), but as it's an arch-specific build-dep, it can't hurt
release architectures.
* Fix broken link in documentation.
unblock beignet/1.3.0-2
-- System Information:
Debian Release: 8.7
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru beignet-1.3.0/debian/changelog beignet-1.3.0/debian/changelog
--- beignet-1.3.0/debian/changelog 2017-01-22 21:47:49.000000000 +0000
+++ beignet-1.3.0/debian/changelog 2017-02-21 22:45:18.000000000 +0000
@@ -1,3 +1,14 @@
+beignet (1.3.0-2) unstable; urgency=medium
+
+ * Statically link to LLVM to allow installation together with
+ mesa-opencl-icd (workaround for #852746).
+ * Disable OpenCL 2.0 on i386, as it is likely to crash.
+ (Closes: #855651)
+ * Add missing build-dependencies on x32 to fix FTBFS.
+ * Fix broken link in documentation.
+
+ -- Rebecca N. Palmer <rebecca_palmer@zoho.com> Tue, 21 Feb 2017 22:45:18 +0000
+
beignet (1.3.0-1) unstable; urgency=medium
* New upstream release.
diff -Nru beignet-1.3.0/debian/control beignet-1.3.0/debian/control
--- beignet-1.3.0/debian/control 2017-01-22 21:47:49.000000000 +0000
+++ beignet-1.3.0/debian/control 2017-02-21 22:45:18.000000000 +0000
@@ -14,9 +14,9 @@
clang-3.8,
libclang-3.8-dev,
llvm-3.8-dev,
- clang-3.9 [amd64 i386],
- libclang-3.9-dev [amd64 i386],
- llvm-3.9-dev [amd64 i386],
+ clang-3.9 [amd64 i386 x32],
+ libclang-3.9-dev [amd64 i386 x32],
+ llvm-3.9-dev [amd64 i386 x32],
ocl-icd-dev,
ocl-icd-opencl-dev,
opencl-headers (>= 2.0~),
@@ -26,7 +26,10 @@
libxext-dev,
libxfixes-dev,
libx11-dev,
- ikiwiki
+ ikiwiki,
+ libtinfo-dev,
+ libedit-dev,
+ zlib1g-dev
Standards-Version: 3.9.8
Homepage: https://www.freedesktop.org/wiki/Software/Beignet/
Vcs-Git: https://anonscm.debian.org/git/pkg-opencl/beignet.git
diff -Nru beignet-1.3.0/debian/patches/docs-broken-links.patch beignet-1.3.0/debian/patches/docs-broken-links.patch
--- beignet-1.3.0/debian/patches/docs-broken-links.patch 2017-01-22 21:47:49.000000000 +0000
+++ beignet-1.3.0/debian/patches/docs-broken-links.patch 2017-02-21 22:45:18.000000000 +0000
@@ -40,7 +40,7 @@
+- [[V4l2 Buffer Sharing|howto/v4l2-buffer-sharing-howto]]
+- [[Video Motion Estimation|howto/video-motion-estimation-howto]]
+- [[Stand Alone Unit Test|howto/stand-alone-utest-howto]]
-+- [[Android build|android-build-howto]]
++- [[Android build|howto/android-build-howto]]
The wiki URL is as below:
[http://www.freedesktop.org/wiki/Software/Beignet/](http://www.freedesktop.org/wiki/Software/Beignet/)
diff -Nru beignet-1.3.0/debian/patches/series beignet-1.3.0/debian/patches/series
--- beignet-1.3.0/debian/patches/series 2017-01-22 21:47:49.000000000 +0000
+++ beignet-1.3.0/debian/patches/series 2017-02-21 22:45:18.000000000 +0000
@@ -1,7 +1,6 @@
Debian-compliant-compiler-flags-handling.patch
support-kfreebsd.patch
reduce-notfound-output.patch
-shared-llvm.patch
update-docs.patch
ship-test-tool.patch
find-python35.patch
@@ -11,3 +10,4 @@
add-appstream-metadata.patch
spelling.patch
opencl2-runtime-detection.patch
+static-llvm.patch
diff -Nru beignet-1.3.0/debian/patches/shared-llvm.patch beignet-1.3.0/debian/patches/shared-llvm.patch
--- beignet-1.3.0/debian/patches/shared-llvm.patch 2017-01-22 21:47:49.000000000 +0000
+++ beignet-1.3.0/debian/patches/shared-llvm.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,33 +0,0 @@
-Description: Dynamically link to libllvm
-
-Trying to do libclang as well fails with many undefined symbols,
-probably due to #698247
-
-Author: Rebecca Palmer <rebecca_palmer@zoho.com>
-
---- beignet.orig/CMake/FindLLVM.cmake
-+++ beignet/CMake/FindLLVM.cmake
-@@ -87,22 +87,7 @@ execute_process(
- OUTPUT_STRIP_TRAILING_WHITESPACE
- )
-
--execute_process(
-- COMMAND ${LLVM_CONFIG_EXECUTABLE} --libs
-- OUTPUT_VARIABLE LLVM_MODULE_LIBS
-- OUTPUT_STRIP_TRAILING_WHITESPACE
--)
--
--if (LLVM_VERSION_NODOT VERSION_GREATER 34)
--execute_process(
-- COMMAND ${LLVM_CONFIG_EXECUTABLE} --system-libs
-- OUTPUT_VARIABLE LLVM_SYSTEM_LIBS_ORIG
-- OUTPUT_STRIP_TRAILING_WHITESPACE
--)
--if (LLVM_SYSTEM_LIBS_ORIG)
--string(REGEX REPLACE " *\n" "" LLVM_SYSTEM_LIBS ${LLVM_SYSTEM_LIBS_ORIG})
--endif (LLVM_SYSTEM_LIBS_ORIG)
--endif (LLVM_VERSION_NODOT VERSION_GREATER 34)
-+set(LLVM_MODULE_LIBS "-lLLVM-${LLVM_VERSION}")
-
- macro(add_one_lib name)
- FIND_LIBRARY(CLANG_LIB
diff -Nru beignet-1.3.0/debian/patches/static-llvm.patch beignet-1.3.0/debian/patches/static-llvm.patch
--- beignet-1.3.0/debian/patches/static-llvm.patch 1970-01-01 01:00:00.000000000 +0100
+++ beignet-1.3.0/debian/patches/static-llvm.patch 2017-02-21 22:45:18.000000000 +0000
@@ -0,0 +1,36 @@
+Description: Statically link to libllvm
+
+When multiple ICDs are installed, libopencl1 needs to dlopen() them all
+to find out which one works on the available hardware. If they are
+dynamically linked, this leads to them sharing a libllvm, which has
+enough global state that this is likely to error out. (This is a known
+LLVM bug, https://bugs.llvm.org/show_bug.cgi?id=22952 , but currently
+has no real fix.)
+
+Author: Rebecca N. Palmer <rebecca_palmer@zoho.com>
+Bug: https://bugs.llvm.org/show_bug.cgi?id=30587
+Bug-Debian: https://bugs.debian.org/852746
+
+--- beignet-1.3.0.orig/CMake/FindLLVM.cmake
++++ beignet-1.3.0/CMake/FindLLVM.cmake
+@@ -87,11 +87,19 @@ execute_process(
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+
++if (LLVM_VERSION_NODOT VERSION_GREATER 38)
++execute_process(
++ COMMAND ${LLVM_CONFIG_EXECUTABLE} --libs --link-static
++ OUTPUT_VARIABLE LLVM_MODULE_LIBS
++ OUTPUT_STRIP_TRAILING_WHITESPACE
++)
++else (LLVM_VERSION_NODOT VERSION_GREATER 38)
+ execute_process(
+ COMMAND ${LLVM_CONFIG_EXECUTABLE} --libs
+ OUTPUT_VARIABLE LLVM_MODULE_LIBS
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
++endif (LLVM_VERSION_NODOT VERSION_GREATER 38)
+
+ if (LLVM_VERSION_NODOT VERSION_GREATER 34)
+ execute_process(
+
diff -Nru beignet-1.3.0/debian/rules beignet-1.3.0/debian/rules
--- beignet-1.3.0/debian/rules 2017-01-22 21:47:49.000000000 +0000
+++ beignet-1.3.0/debian/rules 2017-02-21 22:45:18.000000000 +0000
@@ -19,7 +19,7 @@
LLVM_VERSION_DEFAULT = 3.9
LLVM_VERSION = $(or $(LLVM_VERSION_MESA),$(LLVM_VERSION_DEFAULT))
#this looks the wrong way round because --compare-versions uses success=0 and we need on=1
-CAN_ENABLE_OPENCL2 := $(shell dpkg --compare-versions $(LLVM_VERSION) lt 3.9 || dpkg --compare-versions `dpkg-query -f '$${Version}' -W libdrm-dev:$(DEB_HOST_ARCH)` lt 2.4.66 ; echo $$?)
+CAN_ENABLE_OPENCL2 := $(if $(findstring amd64,$(DEB_HOST_ARCH)),$(shell dpkg --compare-versions $(LLVM_VERSION) lt 3.9 || dpkg --compare-versions `dpkg-query -f '$${Version}' -W libdrm-dev:$(DEB_HOST_ARCH)` lt 2.4.66 ; echo $$?),0)
override_dh_auto_configure:
$(RM) $(patsubst %,include/CL/%,$(SUPERFLUOUS))
--- End Message ---