--- /dev/null
--- /dev/null
++primus.bash-completion primus
--- /dev/null
--- /dev/null
++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 <vcheng@debian.org> 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 <Vincentc1208@gmail.com> 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 <Vincentc1208@gmail.com> Mon, 06 Jan 2014 01:36:38 -0800
++
++primus (0~20130904-1) unstable; urgency=low
++
++ * New upstream git snapshot.
++ - rebase on da6459236b
++
++ -- Vincent Cheng <Vincentc1208@gmail.com> Wed, 23 Oct 2013 01:03:15 -0700
++
++primus (0~20130805-1) unstable; urgency=low
++
++ * New upstream git snapshot.
++ - rebase on 3f248d9f13
++
++ -- Vincent Cheng <Vincentc1208@gmail.com> 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 <Vincentc1208@gmail.com> Thu, 06 Jun 2013 00:31:34 -0700
++
++primus (0~20130527-1) unstable; urgency=low
++
++ * New upstream git snapshot.
++ - rebase on 618acb99e0
++
++ -- Vincent Cheng <Vincentc1208@gmail.com> Wed, 29 May 2013 01:49:06 -0700
++
++primus (0~20130511-1) unstable; urgency=low
++
++ * New upstream git snapshot.
++ - rebase on ef73dd1976
++
++ -- Vincent Cheng <Vincentc1208@gmail.com> Thu, 16 May 2013 00:17:46 -0700
++
++primus (0~20130427-1) unstable; urgency=low
++
++ * Initial release. (Closes: #692597)
++
++ -- Vincent Cheng <Vincentc1208@gmail.com> Fri, 03 May 2013 03:26:17 -0700
--- /dev/null
--- /dev/null
++9
--- /dev/null
--- /dev/null
++Source: primus
++Section: utils
++Priority: extra
++Maintainer: Debian NVIDIA Maintainers <pkg-nvidia-devel@lists.alioth.debian.org>
++Uploaders:
++ Aron Xu <aron@debian.org>,
++ Vincent Cheng <vcheng@debian.org>,
++ Yunqiang Su <wzssyqa@gmail.com>
++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.
--- /dev/null
--- /dev/null
++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 <amonakov@gmail.com>
++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 <zhurikhin@gmail.com>
++ 2013 Bruno Pagani <bruno.n.pagani@gmail.com>
++ 2013 Vincent Cheng <vcheng@debian.org>
++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 <http://www.gnu.org/licenses/>
++ .
++ On Debian systems, the complete text of the GNU General
++ Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
--- /dev/null
--- /dev/null
++README.md
++technotes.md
--- /dev/null
--- /dev/null
++primusrun.1
--- /dev/null
--- /dev/null
++Description: use all variables containing hardening flags
++Forwarded: https://github.com/amonakov/primus/pull/148
++Author: Andreas Beckmann <anbe@debian.org>
++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
--- /dev/null
--- /dev/null
++hardening.patch
--- /dev/null
--- /dev/null
++primus-libs-ia32: empty-binary-package
--- /dev/null
--- /dev/null
++#!/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
--- /dev/null
--- /dev/null
++#!/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 "$@"
--- /dev/null
--- /dev/null
++3.0 (quilt)
--- /dev/null
--- /dev/null
++version=3
++https://github.com/amonakov/primus/tags .*/v?(\d.*)\.(?:tgz|tbz2|tar\.(?:gz|bz2|xz))