From: Vincent Cheng Date: Wed, 15 Jan 2014 22:14:25 +0000 (+0000) Subject: primus (0~20140711-1) unstable; urgency=medium X-Git-Tag: archive/raspbian/0_20150328-12+rpi1~1^2^2^2^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=4e3d5fbf8a658f162608d712f59891147aad35c8;p=primus.git primus (0~20140711-1) unstable; urgency=medium [ Vincent Cheng ] * New upstream git snapshot. - rebase on 4e000124ec * Update email address. * Update Standards version to 3.9.6, no changes required. [ Andreas Beckmann ] * hardening.patch: New. Use all variables that contain hardening flags. [dgit import unpatched primus 0~20140711-1] --- 4e3d5fbf8a658f162608d712f59891147aad35c8 diff --cc debian/bash-completion index 0000000,0000000..4bbaa34 new file mode 100644 --- /dev/null +++ b/debian/bash-completion @@@ -1,0 -1,0 +1,1 @@@ ++primus.bash-completion primus diff --cc debian/changelog index 0000000,0000000..8876c09 new file mode 100644 --- /dev/null +++ b/debian/changelog @@@ -1,0 -1,0 +1,73 @@@ ++primus (0~20140711-1) unstable; urgency=medium ++ ++ [ Vincent Cheng ] ++ * New upstream git snapshot. ++ - rebase on 4e000124ec ++ * Update email address. ++ * Update Standards version to 3.9.6, no changes required. ++ ++ [ Andreas Beckmann ] ++ * hardening.patch: New. Use all variables that contain hardening flags. ++ ++ -- Vincent Cheng Wed, 15 Jan 2014 14:14:25 -0800 ++ ++primus (0~20131127-2) unstable; urgency=medium ++ ++ * Build with PRIMUS_UPLOAD=1 to avoid a bug triggered by using primus and ++ xserver-xorg-video-intel with UXA acceleration enabled (which is currently ++ the default with xserver-xorg-video-intel 2:2.21.15-1 in unstable). ++ This workaround will remain in effect until xserver-xorg-video-intel ++ defaults to SNA in unstable. This flag will not be set if build ++ environment is Ubuntu, as SNA is already enabled by default (in trusty). ++ ++ -- Vincent Cheng Tue, 07 Jan 2014 01:56:18 -0800 ++ ++primus (0~20131127-1) unstable; urgency=medium ++ ++ * New upstream git snapshot. ++ - rebase on 074817614c ++ * Update Standards version to 3.9.5, no changes required. ++ ++ -- Vincent Cheng Mon, 06 Jan 2014 01:36:38 -0800 ++ ++primus (0~20130904-1) unstable; urgency=low ++ ++ * New upstream git snapshot. ++ - rebase on da6459236b ++ ++ -- Vincent Cheng Wed, 23 Oct 2013 01:03:15 -0700 ++ ++primus (0~20130805-1) unstable; urgency=low ++ ++ * New upstream git snapshot. ++ - rebase on 3f248d9f13 ++ ++ -- Vincent Cheng Tue, 20 Aug 2013 02:13:51 -0700 ++ ++primus (0~20130601-1) unstable; urgency=low ++ ++ * New upstream git snapshot. ++ - rebase on 38731d5375 ++ - fixes FTBFS on oldstable with gcc < 4.6 (Closes: #710025) ++ ++ -- Vincent Cheng Thu, 06 Jun 2013 00:31:34 -0700 ++ ++primus (0~20130527-1) unstable; urgency=low ++ ++ * New upstream git snapshot. ++ - rebase on 618acb99e0 ++ ++ -- Vincent Cheng Wed, 29 May 2013 01:49:06 -0700 ++ ++primus (0~20130511-1) unstable; urgency=low ++ ++ * New upstream git snapshot. ++ - rebase on ef73dd1976 ++ ++ -- Vincent Cheng Thu, 16 May 2013 00:17:46 -0700 ++ ++primus (0~20130427-1) unstable; urgency=low ++ ++ * Initial release. (Closes: #692597) ++ ++ -- Vincent Cheng Fri, 03 May 2013 03:26:17 -0700 diff --cc debian/compat index 0000000,0000000..ec63514 new file mode 100644 --- /dev/null +++ b/debian/compat @@@ -1,0 -1,0 +1,1 @@@ ++9 diff --cc debian/control index 0000000,0000000..4269094 new file mode 100644 --- /dev/null +++ b/debian/control @@@ -1,0 -1,0 +1,56 @@@ ++Source: primus ++Section: utils ++Priority: extra ++Maintainer: Debian NVIDIA Maintainers ++Uploaders: ++ Aron Xu , ++ Vincent Cheng , ++ Yunqiang Su ++Build-Depends: debhelper (>= 9), bash-completion, mesa-common-dev ++Standards-Version: 3.9.6 ++Homepage: https://github.com/amonakov/primus ++Vcs-Git: git://anonscm.debian.org/pkg-nvidia/primus.git ++Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-nvidia/primus.git ++ ++Package: primus ++Architecture: i386 amd64 ++Depends: ${shlibs:Depends}, ${misc:Depends}, bumblebee, socat, ++ primus-libs (= ${binary:Version}) ++Recommends: primus-libs-ia32 [amd64] ++Description: client-side GPU offloading for NVIDIA Optimus ++ Primus is a shared library that provides OpenGL and GLX APIs and implements ++ low-overhead local-only client-side OpenGL offloading via GLX forking, ++ similar to VirtualGL. It intercepts GLX calls and redirects GL rendering ++ to a secondary X display, presumably driven by a faster GPU. On swapping ++ buffers, rendered contents are read back using a PBO and copied onto ++ the drawable it was supposed to be rendered on in the first place. ++ . ++ Primus is currently intended to be used alongside Bumblebee and provides a ++ drop-in replacement for optirun (i.e. "primusrun"). ++ ++Package: primus-libs ++Architecture: i386 amd64 ++Depends: ${shlibs:Depends}, ${misc:Depends} ++Multi-Arch: same ++Description: Shared libraries for primus ++ This package contains the libraries for primus which are loaded when running ++ primusrun. ++ ++Package: primus-libs-ia32 ++Architecture: i386 ++Depends: primus-libs, ${misc:Depends} ++Multi-Arch: foreign ++Description: Shared libraries for primus (32-bit) ++ This package depends on 32-bit libraries for primus. It can safely be ++ removed after installation. ++ ++Package: primus-libs-dbg ++Architecture: i386 amd64 ++Section: debug ++Depends: primus-libs (=${binary:Version}), ${misc:Depends} ++Multi-Arch: same ++Description: Shared libraries for primus - debugging symbols ++ This package contains the libraries for primus which are loaded when running ++ primusrun. ++ . ++ This package contains the debugging symbols for primus-libs. diff --cc debian/copyright index 0000000,0000000..37a9b5c new file mode 100644 --- /dev/null +++ b/debian/copyright @@@ -1,0 -1,0 +1,39 @@@ ++Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ ++Upstream-Name: primus ++Source: https://github.com/amonakov/primus ++ ++Files: * ++Copyright: 2012-2013 Alexander Monakov ++License: ISC ++ Permission to use, copy, modify, and/or distribute this software for any ++ purpose with or without fee is hereby granted, provided that the above ++ copyright notice and this permission notice appear in all copies. ++ . ++ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH ++ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY ++ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, ++ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM ++ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR ++ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ++ PERFORMANCE OF THIS SOFTWARE. ++ ++Files: debian/* ++Copyright: 2012 Dmitry Zhurikhin ++ 2013 Bruno Pagani ++ 2013 Vincent Cheng ++License: GPL-3.0+ ++ This package is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 3 of the License, or ++ (at your option) any later version. ++ . ++ This package is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ . ++ You should have received a copy of the GNU General Public License ++ along with this program. If not, see ++ . ++ On Debian systems, the complete text of the GNU General ++ Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". diff --cc debian/docs index 0000000,0000000..7daf99b new file mode 100644 --- /dev/null +++ b/debian/docs @@@ -1,0 -1,0 +1,2 @@@ ++README.md ++technotes.md diff --cc debian/manpages index 0000000,0000000..b7c3def new file mode 100644 --- /dev/null +++ b/debian/manpages @@@ -1,0 -1,0 +1,1 @@@ ++primusrun.1 diff --cc debian/patches/hardening.patch index 0000000,0000000..4db58f1 new file mode 100644 --- /dev/null +++ b/debian/patches/hardening.patch @@@ -1,0 -1,0 +1,13 @@@ ++Description: use all variables containing hardening flags ++Forwarded: https://github.com/amonakov/primus/pull/148 ++Author: Andreas Beckmann ++Last-Update: 2014-10-25 ++ ++--- a/Makefile +++++ b/Makefile ++@@ -30,4 +30,4 @@ ++ ++ $(LIBDIR)/libGL.so.1: libglfork.cpp ++ mkdir -p $(LIBDIR) ++- $(CXX) $(CXXFLAGS) -fvisibility=hidden -fPIC -shared -Wl,-Bsymbolic -o $@ $< -lX11 -lpthread -lrt +++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -fvisibility=hidden -fPIC -shared -Wl,-Bsymbolic -o $@ $< $(LDFLAGS) -lX11 -lpthread -lrt diff --cc debian/patches/series index 0000000,0000000..814900f new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,1 @@@ ++hardening.patch diff --cc debian/primus-libs-ia32.lintian-overrides index 0000000,0000000..6e3221c new file mode 100644 --- /dev/null +++ b/debian/primus-libs-ia32.lintian-overrides @@@ -1,0 -1,0 +1,1 @@@ ++primus-libs-ia32: empty-binary-package diff --cc debian/rules index 0000000,0000000..fcf719a new file mode 100755 --- /dev/null +++ b/debian/rules @@@ -1,0 -1,0 +1,46 @@@ ++#!/usr/bin/make -f ++# -*- makefile -*- ++ ++# Uncomment this to turn on verbose mode. ++#export DH_VERBOSE=1 ++ ++DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) ++ ++ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes) ++ PRIMUS_libGLa=/usr/lib/$(DEB_HOST_MULTIARCH)/mesa/libGL.so.1 ++ PRIMUS_libGLd=/usr/lib/$(DEB_HOST_MULTIARCH)/mesa/libGL.so.1 ++ # =1 on 13.04/raring and earlier, 0 (default) on 13.10/saucy and later ++ PRIMUS_UPLOAD=0 ++else ++ PRIMUS_libGLa=/usr/lib/$(DEB_HOST_MULTIARCH)/libGL.so.1 ++ PRIMUS_libGLd=/usr/lib/$(DEB_HOST_MULTIARCH)/libGL.so.1 ++ # PRIMUS_UPLOAD=1 set until Debian's xserver-xorg-video-intel ++ # defaults to SNA acceleration in unstable ++ PRIMUS_UPLOAD=1 ++endif ++ ++# Where to put the resulting library during build ++BUILD_LIBDIR ?= lib ++ ++%: ++ dh $@ --with bash-completion ++ ++override_dh_clean: ++ rm -rf $(BUILD_LIBDIR) ++ dh_clean ++ ++override_dh_auto_build: ++ dh_auto_build -- LIBDIR=$(BUILD_LIBDIR) \ ++ PRIMUS_libGLd=$(PRIMUS_libGLd) \ ++ PRIMUS_libGLa=$(PRIMUS_libGLa) \ ++ PRIMUS_UPLOAD=$(PRIMUS_UPLOAD) ++ ++override_dh_install: ++ # Make all the paths explicitly ++ mkdir -p debian/primus/usr/bin/ debian/primus-libs/usr/lib/$(DEB_HOST_MULTIARCH)/primus/ ++ install -m 755 debian/scripts/primusrun debian/primus/usr/bin/ ++ cp -r $(BUILD_LIBDIR)/* debian/primus-libs/usr/lib/$(DEB_HOST_MULTIARCH)/primus/ ++ dh_install ++ ++override_dh_strip: ++ dh_strip --dbg-package=primus-libs-dbg diff --cc debian/scripts/primusrun index 0000000,0000000..54432f3 new file mode 100644 --- /dev/null +++ b/debian/scripts/primusrun @@@ -1,0 -1,0 +1,52 @@@ ++#!/bin/bash ++ ++# Readback-display synchronization method ++# 0: no sync, 1: D lags behind one frame, 2: fully synced ++# export PRIMUS_SYNC=${PRIMUS_SYNC:-0} ++ ++# Verbosity level ++# 0: only errors, 1: warnings (default), 2: profiling ++# export PRIMUS_VERBOSE=${PRIMUS_VERBOSE:-1} ++ ++# Secondary display ++# export PRIMUS_DISPLAY=${PRIMUS_DISPLAY:-:8} ++ ++# "Accelerating" libGL ++# $LIB will be interpreted by the dynamic linker ++# if (which dpkg-vendor >/dev/null && dpkg-vendor --derives-from Ubuntu) || \ ++# [ -e /etc/dpkg/origins/ubuntu ]; then ++# # Ubuntu ++# export PRIMUS_libGLa=${PRIMUS_libGLa:-'/usr/$LIB/mesa/libGL.so.1'} ++# else ++# # Debian ++# export PRIMUS_libGLa=${PRIMUS_libGLa:-'/usr/$LIB/libGL.so.1'} ++# fi ++ ++# "Displaying" libGL ++# if (which dpkg-vendor >/dev/null && dpkg-vendor --derives-from Ubuntu) || \ ++# [ -e /etc/dpkg/origins/ubuntu ]; then ++# # Ubuntu ++# export PRIMUS_libGLa=${PRIMUS_libGLa:-'/usr/$LIB/mesa/libGL.so.1'} ++# else ++# # Debian ++# export PRIMUS_libGLa=${PRIMUS_libGLa:-'/usr/$LIB/libGL.so.1'} ++# fi ++ ++# Directory containing primus libGL ++PRIMUS_libGL=${PRIMUS_libGL:-'/usr/$LIB/primus'} ++ ++# On some distributions, e.g. on Gentoo, libnvidia-tls.so is not available ++# in default search paths. Add its path manually after the primus library ++bblibs=$(echo -ne 'Q LibraryPath\0' | \ ++ socat - UNIX-CONNECT:/var/run/bumblebee.socket | sed 's/^Value: \(.*\)/\1/') ++ ++PRIMUS_libGL=${PRIMUS_libGL}${bblibs:+:$bblibs} ++ ++# Mesa drivers need a few symbols to be visible ++# export PRIMUS_LOAD_GLOBAL=${PRIMUS_LOAD_GLOBAL:-'libglapi.so.0'} ++ ++# Need functions from primus libGL to take precedence ++export LD_LIBRARY_PATH=${PRIMUS_libGL}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} ++ ++# And go! ++exec "$@" diff --cc debian/source/format index 0000000,0000000..163aaf8 new file mode 100644 --- /dev/null +++ b/debian/source/format @@@ -1,0 -1,0 +1,1 @@@ ++3.0 (quilt) diff --cc debian/watch index 0000000,0000000..9ea2b04 new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -1,0 -1,0 +1,2 @@@ ++version=3 ++https://github.com/amonakov/primus/tags .*/v?(\d.*)\.(?:tgz|tbz2|tar\.(?:gz|bz2|xz))