Import openni2_2.2.0.33+dfsg-11.debian.tar.xz
authorJochen Sprickerhof <jspricke@debian.org>
Sat, 5 May 2018 15:40:24 +0000 (16:40 +0100)
committerJochen Sprickerhof <jspricke@debian.org>
Sat, 5 May 2018 15:40:24 +0000 (16:40 +0100)
[dgit import tarball openni2 2.2.0.33+dfsg-11 openni2_2.2.0.33+dfsg-11.debian.tar.xz]

36 files changed:
TODO [new file with mode: 0644]
changelog [new file with mode: 0644]
clean [new file with mode: 0644]
compat [new file with mode: 0644]
control [new file with mode: 0644]
copyright [new file with mode: 0644]
gbp.conf [new file with mode: 0644]
libopenni2-0.install [new file with mode: 0644]
libopenni2-0.udev [new file with mode: 0644]
libopenni2-dev.examples [new file with mode: 0644]
libopenni2-dev.install [new file with mode: 0644]
libopenni2.pc [new file with mode: 0644]
openni2-doc.docs [new file with mode: 0644]
openni2-utils.install [new file with mode: 0644]
patches/0001-Add-SONAME-to-libraries.patch [new file with mode: 0644]
patches/0002-Change-path-of-config-files-to-etc-openni2.patch [new file with mode: 0644]
patches/0003-Use-system-wide-libjpeg.patch [new file with mode: 0644]
patches/0004-disable-rpath.patch [new file with mode: 0644]
patches/0005-change-default-ni-drivers-path.patch [new file with mode: 0644]
patches/0006-Disable-SSE.patch [new file with mode: 0644]
patches/0006-rpi-Added-Armv6l-as-new-target-platform-and-created-missing-OniPlatformLinux-Arm.h-header.patch [new file with mode: 0644]
patches/0007-Link-NiViewer-against-ptherad-DSO-on-Ubuntu-raring.patch [new file with mode: 0644]
patches/0008-Add-unused-attribute-to-fix-compilation-with-gcc-4.8.patch [new file with mode: 0644]
patches/0009-Add-ARMhf-support.patch [new file with mode: 0644]
patches/0011-Mark-variables-unused.patch [new file with mode: 0644]
patches/0012-generic-linux.patch [new file with mode: 0644]
patches/0013-Fix-GCC6-compilation.patch [new file with mode: 0644]
patches/0014-fix-format-overflow-for-GCC7.patch [new file with mode: 0644]
patches/0015-Initialize-variable-for-gcc7.patch [new file with mode: 0644]
patches/0016-Use-the-generic-platform-for-armel-armhf-NEON-is-not.patch [new file with mode: 0644]
patches/series [new file with mode: 0644]
rules [new file with mode: 0755]
source.lintian-overrides [new file with mode: 0644]
source/format [new file with mode: 0644]
source/options [new file with mode: 0644]
watch [new file with mode: 0644]

diff --git a/TODO b/TODO
new file mode 100644 (file)
index 0000000..8b13789
--- /dev/null
+++ b/TODO
@@ -0,0 +1 @@
+
diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..049bd0a
--- /dev/null
+++ b/changelog
@@ -0,0 +1,128 @@
+openni2 (2.2.0.33+dfsg-11) unstable; urgency=medium
+
+  [ Ondřej Nový ]
+  * d/copyright: Use https protocol in Format field
+
+  [ Felipe Sateler ]
+  * Change maintainer address to debian-multimedia@lists.debian.org
+
+  [ Jochen Sprickerhof ]
+  * Update Vcs URLs to salsa.d.o
+  * Move cleanup to d/clean
+  * Add R³
+  * http -> https
+  * Fix dh_clean
+  * Fix missing-notice-file-for-apache-license
+  * Bump policy and debhelper versions
+  * Don't build with -Werror (Closes: #897827)
+
+ -- Jochen Sprickerhof <jspricke@debian.org>  Sat, 05 May 2018 17:40:24 +0200
+
+openni2 (2.2.0.33+dfsg-10) unstable; urgency=medium
+
+  * Add patch for arm.
+    Thanks to Adrian Bunk (Closes: #874220)
+  * Remove flags, not needed anymore
+
+ -- Jochen Sprickerhof <jspricke@debian.org>  Sat, 09 Sep 2017 16:17:46 +0200
+
+openni2 (2.2.0.33+dfsg-9) unstable; urgency=medium
+
+  * Add patch for GCC7 (Closes: #871157)
+  * Delete removed paragraphs from copyright
+  * Bump standards version (no changes needed)
+
+ -- Jochen Sprickerhof <jspricke@debian.org>  Wed, 09 Aug 2017 08:40:32 +0200
+
+openni2 (2.2.0.33+dfsg-8) unstable; urgency=medium
+
+  [ Hans-Christoph Steiner ]
+  * remove myself from Uploaders
+
+  [ Jochen Sprickerhof ]
+  * Remove Temp documentation to make package build reproducible
+  * Add patch for GCC7 (Closes: #853597)
+  * Remove Cosimo Alfarano from Uploaders (Closes: #846822)
+  * bump compat to 10 (no changes needed)
+  * Remove versioned dependencies
+
+ -- Jochen Sprickerhof <jspricke@debian.org>  Tue, 07 Feb 2017 18:40:17 +0100
+
+openni2 (2.2.0.33+dfsg-7) unstable; urgency=medium
+
+  * Don't link plugins in pkg-config file
+  * Fix lintian warnings
+  * Add watch file
+  * Update my email address
+  * Bumped Standards-Version to 3.9.8, no changes needed.
+
+ -- Jochen Sprickerhof <jspricke@debian.org>  Mon, 12 Sep 2016 11:32:44 +0200
+
+openni2 (2.2.0.33+dfsg-6) unstable; urgency=medium
+
+  * Add gcc6 patch (Closes: #812056)
+
+ -- Jochen Sprickerhof <debian@jochen.sprickerhof.de>  Sat, 23 Jan 2016 16:56:31 +0100
+
+openni2 (2.2.0.33+dfsg-5) unstable; urgency=medium
+
+  * Add 0012-generic-linux.patch.
+    Thanks to Riku Voipio (Closes: #801123)
+
+ -- Jochen Sprickerhof <debian@jochen.sprickerhof.de>  Fri, 09 Oct 2015 22:34:31 +0200
+
+openni2 (2.2.0.33+dfsg-4) unstable; urgency=medium
+
+  * Add myself to Uploaders
+  * Fix Vcs-Git URL
+  * Fix Homepage (closes: #795276)
+
+ -- Jochen Sprickerhof <debian@jochen.sprickerhof.de>  Mon, 17 Aug 2015 12:14:36 +0200
+
+openni2 (2.2.0.33+dfsg-3) unstable; urgency=medium
+
+  * Properly fix unused variables
+
+ -- Jochen Sprickerhof <debian@jochen.sprickerhof.de>  Sun, 16 Aug 2015 10:10:00 +0200
+
+openni2 (2.2.0.33+dfsg-2) unstable; urgency=medium
+
+  * Fix compilation with GCC5
+  * Add ARMhf support.
+
+ -- Jochen Sprickerhof <debian@jochen.sprickerhof.de>  Sat, 15 Aug 2015 14:17:54 +0200
+
+openni2 (2.2.0.33+dfsg-1) unstable; urgency=low
+
+  [ Hauke Wintjen ]
+  * Merged upstream to 2.2.0.33
+  * Refresh patches
+
+  [ Jochen Sprickerhof ]
+  * Bump standards version
+  * Initial release. (Closes: #607160)
+  * Add more licenses
+  * Filter non dfsg free files in gbp.conf
+  * Imported Upstream version 2.2.0.33+dfsg
+
+ -- Hans-Christoph Steiner <hans@eds.org>  Wed, 25 Mar 2015 10:49:04 -0400
+
+openni2 (2.1.0.4-1ubuntu1~1.gbp2a4158) UNRELEASED; urgency=low
+
+  ** SNAPSHOT build @2a4158ba551d1f7de2549afc4400bd4110641cce **
+
+  * Some ignores
+  * Ignore eclipse projects
+  * Some more ignores
+  * Some ignores
+  * Refresh patches
+  * Refresh patches
+  * more refresh
+
+ -- Hauke Wintjen <hwintjen@rimpl-consulting.de>  Fri, 29 Mar 2013 23:14:11 +0100
+
+openni2 (2.1.0.4-1) unstable; urgency=low
+
+  * Initial creation of debian package
+
+ -- Hauke Wintjen <hwintjen@rimpl-consulting.de>  Tue, 14 Mar 2013 00:40:17 +0100
diff --git a/clean b/clean
new file mode 100644 (file)
index 0000000..1cbe6f8
--- /dev/null
+++ b/clean
@@ -0,0 +1,8 @@
+Source/Documentation/html/
+Source/Documentation/Temp/
+Source/Documentation/java/
+Bin/Intermediate/
+Bin/*-Release/
+ThirdParty/PSCommon/XnLib/Bin/*-Release/
+ThirdParty/PSCommon/XnLib/Bin/Intermediate/
+Source/Documentation/doxygen_sqlite3.db
diff --git a/compat b/compat
new file mode 100644 (file)
index 0000000..b4de394
--- /dev/null
+++ b/compat
@@ -0,0 +1 @@
+11
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..8d326b6
--- /dev/null
+++ b/control
@@ -0,0 +1,78 @@
+Source: openni2
+Priority: optional
+Section: libs
+Maintainer: Debian Multimedia Maintainers <debian-multimedia@lists.debian.org>
+Uploaders: Nobuhiro Iwamatsu <iwamatsu@debian.org>,
+           Jochen Sprickerhof <jspricke@debian.org>
+Build-Depends: debhelper (>= 11),
+               debsums,
+               freeglut3-dev,
+               libusb-1.0-0-dev,
+               python,
+               doxygen,
+               graphviz,
+               libjpeg-dev,
+               libudev-dev,
+               default-jdk
+Standards-Version: 4.1.4
+Rules-Requires-Root: no
+Homepage: https://structure.io/openni
+Vcs-Git: https://salsa.debian.org/multimedia-team/openni2.git
+Vcs-Browser: https://salsa.debian.org/multimedia-team/openni2
+
+Package: libopenni2-0
+Architecture: any
+Depends: ${shlibs:Depends},
+         ${misc:Depends}
+Description: framework for sensor-based 'Natural Interaction'
+ OpenNI2 is a framework for getting data to support 'Natural Interaction',
+ i.e. skeleton tracking, gesture tracking, and similar ways of getting data
+ from humans. OpenNI2 provides the interface for physical devices and for
+ middleware components. The API enables modules to be registered in the OpenNI2
+ framework, which then produce sensory data. OpenNI2 also allows selection of
+ different hardware and middleware modules.
+
+Package: openni2-utils
+Section: utils
+Architecture: any
+Depends: ${shlibs:Depends},
+         ${misc:Depends}
+Description: debug and test utilities OpenNI2 framework
+ OpenNI2 is a framework for getting data to support 'Natural Interaction',
+ i.e. skeleton tracking, gesture tracking, and similar ways of getting data
+ from humans. OpenNI2 provides the interface for physical devices and for
+ middleware components. The API enables modules to be registered in the OpenNI2
+ framework, which then produce sensory data. OpenNI2 also allows selection of
+ different hardware and middleware modules.
+ .
+ This package provides a number of related utilities for debugging, testing,
+ and view the results of the sensor modules.
+
+Package: libopenni2-dev
+Section: libdevel
+Architecture: any
+Depends: ${misc:Depends},
+         libopenni2-0 (= ${binary:Version})
+Suggests: openni2-doc
+Description: headers for OpenNI 'Natural Interaction' frameworks
+ OpenNI is a framework for getting data to support 'Natural Interaction',
+ i.e. skeleton tracking, gesture tracking, and similar ways of getting data
+ from humans. OpenNI provides the interface for physical devices and for
+ middleware components. The API enables modules to be registered in the OpenNI
+ framework, which then produce sensory data. OpenNI also allows selection of
+ different hardware and middleware modules.
+
+Package: openni2-doc
+Section: doc
+Architecture: all
+Depends: ${misc:Depends}
+Description: developer documentation for OpenNI frameworks
+ OpenNI is a framework for getting data to support 'Natural Interaction',
+ i.e. skeleton tracking, gesture tracking, and similar ways of getting data
+ from humans. OpenNI provides the interface for physical devices and for
+ middleware components. The API enables modules to be registered in the OpenNI
+ framework, which then produce sensory data. OpenNI also allows selection of
+ different hardware and middleware modules.
+ .
+ This package provides developer documentation for developing using the OpenNI2
+ frameworks.
diff --git a/copyright b/copyright
new file mode 100644 (file)
index 0000000..3957ffb
--- /dev/null
+++ b/copyright
@@ -0,0 +1,246 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: OpenNI2
+Upstream-Contact: OpenNI, http://www.openni.org/contact-us
+Source: https://github.com/occipital/openni2
+
+Files: *
+Copyright: 2010-2013, PrimeSense Ltd.
+License: APACHE-2.0
+
+Files: Packaging/Linux/install.sh
+Copyright: 2012, PrimeSense Ltd.
+License: GPL-3+
+
+Files: ThirdParty/GL/glh/*
+       ThirdParty/PSCommon/XnLib/ThirdParty/GL/glh/*
+Copyright: 2000, Cass Everitt <cass@r3.nu>
+           2000-2001 NVIDIA Corporation
+License: BSD-3-clause-NVIDIA-LICENSE
+
+Files: ThirdParty/LibJPEG/*
+Copyright: 1991-1998, Thomas G. Lane.
+License: LibJPEG
+
+Files: ThirdParty/PSCommon/Testing/*
+Copyright: 2003,2005-2009, Google Inc.
+License: Google
+
+Files: ThirdParty/PSCommon/XnLib/ThirdParty/libusb-1.0.9-Android/Android.mk
+Copyright: 2012, PrimeSense Ltd.
+License: APACHE-2.0
+
+Files: ThirdParty/PSCommon/XnLib/ThirdParty/libusb-1.0.9-Android/*
+Copyright: Copyright (C) 2007-2009 Daniel Drake <dsd@gentoo.org>
+           Copyright (c) 2001 Johannes Erdfelt <johannes@erdfelt.com>
+           Copyright (C) 2008-2012 Nathan Hjelm <hjelmn@users.sourceforge.net>
+           Copyright (C) 2009-2012 Pete Batard <pete@akeo.ie>
+           Copyright (C) 2010 Michael Plante <michael.plante@gmail.com>
+           Copyright (C) 2010-2012 Peter Stuge <peter@stuge.se>
+           Copyright (C) 2011-2012 Hans de Goede <hdegoede@redhat.com>
+           Copyright (C) 2012 Martin Pieuchot <mpi@openbsd.org>
+License: LGPL-2.1
+
+Files: debian/*
+Copyright: 2010-2013, Hans-Christoph Steiner <hans@eds.org>
+       2011, Cosimo Alfarano <kalfa@debian.org>
+       2013,  Hauke Wintjen <hwintjen@rimp-consulting.de>
+       2013-2014, Jochen Sprickerhof <debian@jochen.sprickerhof.de>
+License: GPL-3+
+
+
+License: APACHE-2.0
+    OpenNI 2.0
+    Copyright (c) 2012 PrimeSense Ltd.
+    .
+    This product is licensed under the Apache License, Version 2.0 (the "License");
+    .
+    You should have received a copy of the Apache License
+    along with OpenNI. If not, see:
+        http://www.apache.org/licenses/LICENSE-2.0  
+    .
+    This software is based in part on the work of the Independent JPEG Group.
+    .
+    Your use of the library may involve use of the Microsoft Kinect for Windows Software Development Kit, 
+    which is currently subject to the following license: 
+        http://www.microsoft.com/en-us/kinectforwindows/develop/sdk-eula.aspx
+
+License: GPL-3+
+ This program 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 program 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'.
+
+License: LGPL-2.1
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation;
+ version 2.1 of the License.
+ .
+ This library 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
+ Lesser General Public License for more details.
+ .
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ .
+ On Debian systems, the full text of the GNU Lesser General Public
+ License version 2.1 can be found in the file
+ `/usr/share/common-licenses/LGPL-2.1'.
+
+License: Google
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ .
+  * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+  * Redistributions in binary form must reproduce the above
+    copyright notice, this list of conditions and the following disclaimer
+    in the documentation and/or other materials provided with the
+    distribution.
+  * Neither the name of Google Inc. nor the names of its
+    contributors may be used to endorse or promote products derived from
+    this software without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: BSD-3-clause-NVIDIA-LICENSE
+    Copyright (c) 2000 Cass Everitt
+       Copyright (c) 2000 NVIDIA Corporation
+    All rights reserved.
+    .
+    Redistribution and use in source and binary forms, with or
+       without modification, are permitted provided that the following
+       conditions are met:
+  .
+     * Redistributions of source code must retain the above
+          copyright notice, this list of conditions and the following
+          disclaimer.
+     .
+     * Redistributions in binary form must reproduce the above
+          copyright notice, this list of conditions and the following
+          disclaimer in the documentation and/or other materials
+          provided with the distribution.
+     .
+     * The names of contributors to this software may not be used
+          to endorse or promote products derived from this software
+          without specific prior written permission. 
+     .
+       THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+          ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+          LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+          FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+          REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+          INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+          BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+          LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+          CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+          LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+          ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+          POSSIBILITY OF SUCH DAMAGE. 
+
+License: LibJPEG
+ In plain English:
+ .
+  1. We don't promise that this software works.  (But if you find any bugs,
+     please let us know!)
+  2. You can use this software for whatever you want.  You don't have to pay us.
+  3. You may not pretend that you wrote this software.  If you use it in a
+     program, you must acknowledge somewhere in your documentation that
+     you've used the IJG code.
+ .
+ In legalese:
+ .
+ The authors make NO WARRANTY or representation, either express or implied,
+ with respect to this software, its quality, accuracy, merchantability, or
+ fitness for a particular purpose.  This software is provided "AS IS", and
+ you, its user, assume the entire risk as to its quality and accuracy.
+ .
+ This software is copyright (C) 1991-1998, Thomas G. Lane.
+ All Rights Reserved except as specified below.
+ .
+ Permission is hereby granted to use, copy, modify, and distribute this
+ software (or portions thereof) for any purpose, without fee, subject to these
+ conditions:
+ (1) If any part of the source code for this software is distributed, then this
+ README file must be included, with this copyright and no-warranty notice
+ unaltered; and any additions, deletions, or changes to the original files
+ must be clearly indicated in accompanying documentation.
+ (2) If only executable code is distributed, then the accompanying
+ documentation must state that "this software is based in part on the work of
+ the Independent JPEG Group".
+ (3) Permission for use of this software is granted only if the user accepts
+ full responsibility for any undesirable consequences; the authors accept
+ NO LIABILITY for damages of any kind.
+ .
+ These conditions apply to any software derived from or based on the IJG code,
+ not just to the unmodified library.  If you use our work, you ought to
+ acknowledge us.
+ .
+ Permission is NOT granted for the use of any IJG author's name or company name
+ in advertising or publicity relating to this software or products derived from
+ it.  This software may be referred to only as "the Independent JPEG Group's
+ software".
+ .
+ We specifically permit and encourage the use of this software as the basis of
+ commercial products, provided that all warranty or liability claims are
+ assumed by the product vendor.
+ .
+ ansi2knr.c is included in this distribution by permission of L. Peter Deutsch,
+ sole proprietor of its copyright holder, Aladdin Enterprises of Menlo Park, CA.
+ ansi2knr.c is NOT covered by the above copyright and conditions, but instead
+ by the usual distribution terms of the Free Software Foundation; principally,
+ that you must include source code if you redistribute it.  (See the file
+ ansi2knr.c for full details.)  However, since ansi2knr.c is not needed as part
+ of any program generated from the IJG code, this does not limit you more than
+ the foregoing paragraphs do.
+ .
+ The Unix configuration script "configure" was produced with GNU Autoconf.
+ It is copyright by the Free Software Foundation but is freely distributable.
+ The same holds for its supporting scripts (config.guess, config.sub,
+ ltconfig, ltmain.sh).  Another support script, install-sh, is copyright
+ by M.I.T. but is also freely distributable.
+ .
+ It appears that the arithmetic coding option of the JPEG spec is covered by
+ patents owned by IBM, AT&T, and Mitsubishi.  Hence arithmetic coding cannot
+ legally be used without obtaining one or more licenses.  For this reason,
+ support for arithmetic coding has been removed from the free JPEG software.
+ (Since arithmetic coding provides only a marginal gain over the unpatented
+ Huffman mode, it is unlikely that very many implementations will support it.)
+ So far as we are aware, there are no patent restrictions on the remaining
+ code.
+ .
+ The IJG distribution formerly included code to read and write GIF files.
+ To avoid entanglement with the Unisys LZW patent, GIF reading support has
+ been removed altogether, and the GIF writer has been simplified to produce
+ "uncompressed GIFs".  This technique does not use the LZW algorithm; the
+ resulting GIF files are larger than usual, but are readable by all standard
+ GIF decoders.
+ .
+ We are required to state that
+    "The Graphics Interchange Format(c) is the Copyright property of
+    CompuServe Incorporated.  GIF(sm) is a Service Mark property of
+    CompuServe Incorporated."
diff --git a/gbp.conf b/gbp.conf
new file mode 100644 (file)
index 0000000..4790de2
--- /dev/null
+++ b/gbp.conf
@@ -0,0 +1,11 @@
+[DEFAULT]
+upstream-branch = upstream
+debian-branch = master
+upstream-tag = upstream/%(version)s
+debian-tag = debian/%(version)s
+pristine-tar = True
+sign-tags = True
+
+[git-import-orig]
+filter = ['ThirdParty/GL/GL', 'ThirdParty/PSCommon/XnLib/ThirdParty/GL/GL', 'ThirdParty/PSCommon/XnLib/Driver/Win32/Bin/psdrv3.inf']
+filter-pristine-tar = True
diff --git a/libopenni2-0.install b/libopenni2-0.install
new file mode 100644 (file)
index 0000000..7258244
--- /dev/null
@@ -0,0 +1,3 @@
+Bin/*-Release/libOpenNI2.so.* usr/lib/
+Bin/*-Release/OpenNI2/Drivers/lib*.so.* usr/lib/OpenNI2/Drivers/
+Config/*.ini etc/openni2/
diff --git a/libopenni2-0.udev b/libopenni2-0.udev
new file mode 100644 (file)
index 0000000..5607ca8
--- /dev/null
@@ -0,0 +1,19 @@
+# Make primesense device mount with writing permissions (default is read only for unknown devices)
+SUBSYSTEM=="usb", ATTR{idProduct}=="0200", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
+SUBSYSTEM=="usb", ATTR{idProduct}=="0300", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
+SUBSYSTEM=="usb", ATTR{idProduct}=="0401", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
+SUBSYSTEM=="usb", ATTR{idProduct}=="0500", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
+SUBSYSTEM=="usb", ATTR{idProduct}=="0600", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
+SUBSYSTEM=="usb", ATTR{idProduct}=="0601", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
+SUBSYSTEM=="usb", ATTR{idProduct}=="0609", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
+SUBSYSTEM=="usb", ATTR{idProduct}=="1280", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
+SUBSYSTEM=="usb", ATTR{idProduct}=="2100", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
+SUBSYSTEM=="usb", ATTR{idProduct}=="2200", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
+SUBSYSTEM=="usb", ATTR{idProduct}=="f9db", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
+SUBSYSTEM=="usb", ATTR{idProduct}=="0400", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
+SUBSYSTEM=="usb", ATTR{idProduct}=="02ae", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
+SUBSYSTEM=="usb", ATTR{idProduct}=="02ad", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
+SUBSYSTEM=="usb", ATTR{idProduct}=="02b0", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
+SUBSYSTEM=="usb", ATTR{idProduct}=="02be", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
+SUBSYSTEM=="usb", ATTR{idProduct}=="02bf", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
+SUBSYSTEM=="usb", ATTR{idProduct}=="02c2", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
diff --git a/libopenni2-dev.examples b/libopenni2-dev.examples
new file mode 100644 (file)
index 0000000..2ff580f
--- /dev/null
@@ -0,0 +1,2 @@
+Samples/
+
diff --git a/libopenni2-dev.install b/libopenni2-dev.install
new file mode 100644 (file)
index 0000000..ca27a49
--- /dev/null
@@ -0,0 +1,4 @@
+Include/* usr/include/openni2/
+debian/libopenni2.pc usr/lib/pkgconfig
+Bin/*-Release/libOpenNI2.so usr/lib/
+Bin/*-Release/OpenNI2/Drivers/lib*.so usr/lib/OpenNI2/Drivers/
diff --git a/libopenni2.pc b/libopenni2.pc
new file mode 100644 (file)
index 0000000..dede1c3
--- /dev/null
@@ -0,0 +1,10 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include/openni2
+
+Name: OpenNI2
+Description: A general purpose driver for all OpenNI cameras.
+Version: 2.2.0.3
+Cflags: -I${includedir}
+Libs: -L${libdir} -lOpenNI2
diff --git a/openni2-doc.docs b/openni2-doc.docs
new file mode 100644 (file)
index 0000000..d2945ea
--- /dev/null
@@ -0,0 +1,5 @@
+Source/Documentation/html
+Source/Documentation/java
+README
+ReleaseNotes.txt
+NOTICE
diff --git a/openni2-utils.install b/openni2-utils.install
new file mode 100644 (file)
index 0000000..b8643a8
--- /dev/null
@@ -0,0 +1 @@
+Bin/*-Release/NiViewer2 usr/bin/
diff --git a/patches/0001-Add-SONAME-to-libraries.patch b/patches/0001-Add-SONAME-to-libraries.patch
new file mode 100644 (file)
index 0000000..c48267b
--- /dev/null
@@ -0,0 +1,37 @@
+From: Hauke Wintjen <hwintjen@rimpl-consulting.de>
+Date: Fri, 29 Mar 2013 21:04:33 +0100
+Subject: Add SONAME to libraries
+
+---
+ ThirdParty/PSCommon/BuildSystem/CommonCppMakefile           |    4 ++--
+ ThirdParty/PSCommon/XnLib/Include/Linux-x86/XnOSLinux-x86.h |    2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile b/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile
+index ffdc236..6d0d0b4 100644
+--- a/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile
++++ b/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile
+@@ -77,8 +77,8 @@ ifneq "$(LIB_NAME)" ""
+       OUTPUT_NAME = lib$(LIB_NAME).so
+       ifneq ("$(OSTYPE)","Darwin")
+               LDFLAGS += -Wl,--no-undefined
+-              OUTPUT_NAME = lib$(LIB_NAME).so
+-              OUTPUT_COMMAND = $(CXX) -o $(OUTPUT_FILE) $(OBJ_FILES) $(LDFLAGS) -shared
++              OUTPUT_NAME = lib$(LIB_NAME).so.0
++              OUTPUT_COMMAND = $(CXX) -o $(OUTPUT_FILE) $(OBJ_FILES) $(LDFLAGS) -shared -Wl,-soname,${OUTPUT_NAME} && cd ${OUT_DIR} && ln -fs ${OUTPUT_NAME} lib$(LIB_NAME).so
+       else
+               LDFLAGS += -undefined error
+               OUTPUT_NAME = lib$(LIB_NAME).dylib
+diff --git a/ThirdParty/PSCommon/XnLib/Include/Linux-x86/XnOSLinux-x86.h b/ThirdParty/PSCommon/XnLib/Include/Linux-x86/XnOSLinux-x86.h
+index f8d1ecd..7262b00 100644
+--- a/ThirdParty/PSCommon/XnLib/Include/Linux-x86/XnOSLinux-x86.h
++++ b/ThirdParty/PSCommon/XnLib/Include/Linux-x86/XnOSLinux-x86.h
+@@ -78,7 +78,7 @@ typedef      void* XN_LIB_HANDLE;
+ #define XN_SHARED_LIBRARY_PREFIX "lib"
+ /** A string that specifies the postfix of shared library files. */ 
+-#define XN_SHARED_LIBRARY_POSTFIX ".so"
++#define XN_SHARED_LIBRARY_POSTFIX ".so.0"
+ //---------------------------------------------------------------------------
+ // Threads
diff --git a/patches/0002-Change-path-of-config-files-to-etc-openni2.patch b/patches/0002-Change-path-of-config-files-to-etc-openni2.patch
new file mode 100644 (file)
index 0000000..e624f75
--- /dev/null
@@ -0,0 +1,31 @@
+From: Hauke Wintjen <hwintjen@rimpl-consulting.de>
+Date: Fri, 29 Mar 2013 21:16:28 +0100
+Subject: Change path of config files to /etc/openni2
+
+---
+ Source/Drivers/PS1080/Sensor/XnSensor.cpp |    2 +-
+ Source/Tools/NiViewer/NiViewer.cpp        |    2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+--- a/Source/Tools/NiViewer/NiViewer.cpp
++++ b/Source/Tools/NiViewer/NiViewer.cpp
+@@ -96,7 +96,7 @@
+ // --------------------------------
+ // Defines
+ // --------------------------------
+-#define SAMPLE_XML_PATH "../../../../Data/SamplesConfig.xml"
++#define SAMPLE_XML_PATH "/etc/openni2/SamplesConfig.xml"
+ // --------------------------------
+ // Types
+--- a/Source/Core/OniContext.cpp
++++ b/Source/Core/OniContext.cpp
+@@ -23,7 +23,7 @@
+ #include <XnLog.h>
+ #include <XnOSCpp.h>
+-static const char* ONI_CONFIGURATION_FILE = "OpenNI.ini";
++static const char* ONI_CONFIGURATION_FILE = "/etc/openni2/OpenNI.ini";
+ static const char* ONI_DEFAULT_DRIVERS_REPOSITORY = "OpenNI2" XN_FILE_DIR_SEP "Drivers";
+ #define XN_MASK_ONI_CONTEXT "OniContext"
diff --git a/patches/0003-Use-system-wide-libjpeg.patch b/patches/0003-Use-system-wide-libjpeg.patch
new file mode 100644 (file)
index 0000000..37b3d11
--- /dev/null
@@ -0,0 +1,97 @@
+From: Hauke Wintjen <hwintjen@rimpl-consulting.de>
+Date: Fri, 29 Mar 2013 22:21:36 +0100
+Subject: Use system wide libjpeg
+
+---
+ Source/Core/Makefile |    9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+--- a/Source/Core/Makefile
++++ b/Source/Core/Makefile
+@@ -5,14 +5,12 @@
+ INC_DIRS = \
+       ../../Include \
+       ../../ThirdParty/PSCommon/XnLib/Include \
+-      ../Drivers/OniFile/Formats \
+-      ../../ThirdParty/LibJPEG
++      ../Drivers/OniFile/Formats
+ SRC_FILES = \
+       *.cpp \
+       ../Drivers/OniFile/Formats/XnCodec.cpp \
+-      ../Drivers/OniFile/Formats/XnStreamCompression.cpp \
+-      ../../ThirdParty/LibJPEG/*.c \
++      ../Drivers/OniFile/Formats/XnStreamCompression.cpp
+ ifeq ("$(OSTYPE)","Darwin")
+       INC_DIRS += /opt/local/include
+@@ -23,7 +21,7 @@
+ LIB_NAME = OpenNI2
+ LIB_DIRS = ../../ThirdParty/PSCommon/XnLib/Bin/$(PLATFORM)-$(CFG)
+-USED_LIBS = XnLib dl pthread
++USED_LIBS = XnLib dl pthread jpeg
+ ifneq ("$(OSTYPE)","Darwin")
+         USED_LIBS += rt  
+ endif
+@@ -32,4 +30,11 @@
+ CFLAGS += -Wall
++ifeq ($(shell ld -ljpeg -o /dev/null 1>&2 2> /dev/null; echo $$?), 0)
++  USED_LIBS += jpeg
++else
++  INC_DIRS  += ../../ThirdParty/LibJPEG
++  SRC_FILES += ../../ThirdParty/LibJPEG/*.c
++endif
++
+ include ../../ThirdParty/PSCommon/BuildSystem/CommonCppMakefile
+--- a/Source/Drivers/OniFile/Makefile
++++ b/Source/Drivers/OniFile/Makefile
+@@ -6,15 +6,12 @@
+       . \
+       ../../../Include \
+       ../../../ThirdParty/PSCommon/XnLib/Include \
+-      ../../../ThirdParty/LibJPEG \
+       Formats
+ SRC_FILES = \
+       *.cpp \
+       Formats/*.cpp \
+-      XnLibExtensions/*.cpp \
+-      ../../../ThirdParty/LibJPEG/*.c
+-
++      XnLibExtensions/*.cpp
+ ifeq ("$(OSTYPE)","Darwin")
+       INC_DIRS += /opt/local/include
+@@ -25,7 +22,7 @@
+ LIB_NAME = OniFile
+ LIB_DIRS = ../../../ThirdParty/PSCommon/XnLib/Bin/$(PLATFORM)-$(CFG)
+-USED_LIBS = XnLib pthread 
++USED_LIBS = XnLib pthread jpeg
+ ifneq ("$(OSTYPE)","Darwin")
+         USED_LIBS += rt  
+ endif
+--- a/Source/Drivers/PS1080/Makefile
++++ b/Source/Drivers/PS1080/Makefile
+@@ -16,8 +16,7 @@
+       DriverImpl/*.cpp\
+       Formats/*.cpp   \
+       Include/*.cpp   \
+-      Sensor/*.cpp    \
+-      ../../../ThirdParty/LibJPEG/*.c
++      Sensor/*.cpp
+ ifeq ("$(OSTYPE)","Darwin")
+@@ -30,7 +29,7 @@
+ LIB_DIRS += ../../../ThirdParty/PSCommon/XnLib/Bin/$(PLATFORM)-$(CFG)
+ LIB_DIRS += $(BIN_DIR)/$(PLATFORM)-$(CFG)
+-USED_LIBS = XnLib dl pthread DepthUtils
++USED_LIBS = XnLib dl pthread DepthUtils jpeg
+ ifneq ("$(OSTYPE)","Darwin")
+         USED_LIBS += rt usb-1.0 udev
+ else
diff --git a/patches/0004-disable-rpath.patch b/patches/0004-disable-rpath.patch
new file mode 100644 (file)
index 0000000..6e430e2
--- /dev/null
@@ -0,0 +1,29 @@
+From: Hauke Wintjen <hwintjen@rimpl-consulting.de>
+Date: Tue, 2 Apr 2013 21:09:09 +0200
+Subject: disable rpath
+
+This has the advance that we dont get any lintian warnings but the drawback that afterwards
+the drivers.so are no longer found. 
+
+So this patch is DISABLED in series currently.
+
+This is caused by the fact that dlopen does not consider the current dir if not told so 
+(XnLinuxSharedLibs.cpp should be fixed for that).
+
+---
+ ThirdParty/PSCommon/BuildSystem/CommonCppMakefile |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile b/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile
+index 4d53302..c442865 100644
+--- a/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile
++++ b/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile
+@@ -88,7 +88,7 @@ endif
+ ifneq "$(EXE_NAME)" ""
+       OUTPUT_NAME = $(EXE_NAME)
+       # We want the executables to look for the .so's locally first:
+-      LDFLAGS += -Wl,-rpath ./
++      #       LDFLAGS += -Wl,-rpath ./
+       OUTPUT_COMMAND = $(CXX) -o $(OUTPUT_FILE) $(OBJ_FILES) $(LDFLAGS)
+ endif
+ ifneq "$(SLIB_NAME)" ""
diff --git a/patches/0005-change-default-ni-drivers-path.patch b/patches/0005-change-default-ni-drivers-path.patch
new file mode 100644 (file)
index 0000000..63008d3
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/Source/Core/OniContext.cpp
++++ b/Source/Core/OniContext.cpp
+@@ -24,7 +24,7 @@
+ #include <XnOSCpp.h>
+ static const char* ONI_CONFIGURATION_FILE = "/etc/openni2/OpenNI.ini";
+-static const char* ONI_DEFAULT_DRIVERS_REPOSITORY = "OpenNI2" XN_FILE_DIR_SEP "Drivers";
++static const char* ONI_DEFAULT_DRIVERS_REPOSITORY = "/usr/lib/" "OpenNI2" XN_FILE_DIR_SEP "Drivers";
+ #define XN_MASK_ONI_CONTEXT "OniContext"
diff --git a/patches/0006-Disable-SSE.patch b/patches/0006-Disable-SSE.patch
new file mode 100644 (file)
index 0000000..399a321
--- /dev/null
@@ -0,0 +1,27 @@
+From: Jochen Sprickerhof <jochen@sprickerhof.de>
+Date: Mon, 20 May 2013 13:06:29 +0200
+Subject: Disable SSE
+
+---
+ ThirdParty/PSCommon/BuildSystem/Platform.x86 |    4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+--- a/ThirdParty/PSCommon/BuildSystem/Platform.x86
++++ b/ThirdParty/PSCommon/BuildSystem/Platform.x86
+@@ -2,7 +2,7 @@
+ export GLUT_SUPPORTED=1
+ ifndef SSE_GENERATION
+-      SSE_GENERATION = 3
++      SSE_GENERATION = 0
+ endif
+ ifeq ("$(OSTYPE)","Darwin")
+@@ -19,7 +19,5 @@
+               ifeq ($(SSSE3_ENABLED), 1)
+                       CFLAGS += -mssse3
+               endif
+-      else
+-              DUMMY:=($error "Only SSE2 and SSE3 are supported")
+       endif
+ endif
diff --git a/patches/0006-rpi-Added-Armv6l-as-new-target-platform-and-created-missing-OniPlatformLinux-Arm.h-header.patch b/patches/0006-rpi-Added-Armv6l-as-new-target-platform-and-created-missing-OniPlatformLinux-Arm.h-header.patch
new file mode 100644 (file)
index 0000000..5329a2c
--- /dev/null
@@ -0,0 +1,41 @@
+From 9ae6d6ca4e8a3e17149d307bf97e5d0ac0f931d0 Mon Sep 17 00:00:00 2001
+From: Hauke Wintjen <hwintjen@rimpl-consulting.de>
+Date: Wed, 30 Jan 2013 21:38:18 +0100
+Subject: [PATCH] Added Armv6l as new target platform
+
+---
+ ThirdParty/PSCommon/BuildSystem/CommonDefs.mak  |    2 +
+ ThirdParty/PSCommon/BuildSystem/Platform.Armv6l |   14 ++++
+ 3 files changed, 118 insertions(+)
+ create mode 100644 ThirdParty/PSCommon/BuildSystem/Platform.Armv6l
+
+--- a/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak
++++ b/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak
+@@ -16,6 +16,8 @@
+       HOST_PLATFORM = x86
+ else ifneq (,$(findstring i386,$(MACHINE)))
+       HOST_PLATFORM = x86
++else ifneq (,$(findstring armv6l,$(MACHINE)))
++      HOST_PLATFORM = Armv6l
+ else ifneq (,$(findstring arm,$(MACHINE)))
+       HOST_PLATFORM = Arm
+ else
+--- /dev/null
++++ b/ThirdParty/PSCommon/BuildSystem/Platform.Armv6l
+@@ -0,0 +1,16 @@
++# Platform defs for Raspberry PI Hard floats
++export GLUT_SUPPORTED=1
++
++ifeq "$(CFG)" "Release"
++
++    # Hardware specifying flags
++    # hardfp is now default, so no extra flags needed
++    # CFLAGS += -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard
++
++    # Optimization level, minus currently buggy optimizing methods (which break bit-exact)
++    CFLAGS += -O3 -fno-tree-pre -fno-strict-aliasing
++
++    # More optimization flags
++    CFLAGS += -ftree-vectorize -ffast-math -funsafe-math-optimizations -fsingle-precision-constant
++
++endif
diff --git a/patches/0007-Link-NiViewer-against-ptherad-DSO-on-Ubuntu-raring.patch b/patches/0007-Link-NiViewer-against-ptherad-DSO-on-Ubuntu-raring.patch
new file mode 100644 (file)
index 0000000..1653a49
--- /dev/null
@@ -0,0 +1,18 @@
+From: Jochen Sprickerhof <jochen@sprickerhof.de>
+Date: Sat, 25 May 2013 10:28:22 +0200
+Subject: Link NiViewer against ptherad (DSO on Ubuntu raring)
+
+---
+ Source/Tools/NiViewer/Makefile |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/Source/Tools/NiViewer/Makefile
++++ b/Source/Tools/NiViewer/Makefile
+@@ -23,6 +23,7 @@
+ else
+       CFLAGS += -DUNIX -DGLX_GLXEXT_LEGACY
+       USED_LIBS += glut GL
++      LDFLAGS += -pthread
+ endif
+ LIB_DIRS  += ../../../ThirdParty/PSCommon/XnLib/Bin/$(PLATFORM)-$(CFG)
diff --git a/patches/0008-Add-unused-attribute-to-fix-compilation-with-gcc-4.8.patch b/patches/0008-Add-unused-attribute-to-fix-compilation-with-gcc-4.8.patch
new file mode 100644 (file)
index 0000000..73658f7
--- /dev/null
@@ -0,0 +1,21 @@
+From: Jochen Sprickerhof <jochen@sprickerhof.de>
+Date: Fri, 28 Feb 2014 11:23:06 +0100
+Subject: Add unused attribute to fix compilation with gcc-4.8
+
+---
+ Source/Drivers/PSLink/LinkProtoLib/XnLinkProtoUtils.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Source/Drivers/PSLink/LinkProtoLib/XnLinkProtoUtils.h b/Source/Drivers/PSLink/LinkProtoLib/XnLinkProtoUtils.h
+index d3f16b7..0657b7a 100644
+--- a/Source/Drivers/PSLink/LinkProtoLib/XnLinkProtoUtils.h
++++ b/Source/Drivers/PSLink/LinkProtoLib/XnLinkProtoUtils.h
+@@ -15,7 +15,7 @@
+ #define XN_MASK_LINK "xnLink"
+ #ifndef XN_COMPILER_ASSERT
+-#define XN_COMPILER_ASSERT(x) typedef int compileAssert[x ? 1 : -1]
++#define XN_COMPILER_ASSERT(x) typedef int compileAssert[x ? 1 : -1] __attribute__((unused))
+ #endif
+ template <typename T>
diff --git a/patches/0009-Add-ARMhf-support.patch b/patches/0009-Add-ARMhf-support.patch
new file mode 100644 (file)
index 0000000..b37b383
--- /dev/null
@@ -0,0 +1,52 @@
+--- a/Packaging/Harvest.py
++++ b/Packaging/Harvest.py
+@@ -98,9 +98,7 @@ class Harvest:
+             self.copySharedObject(binDriversDir, 'Kinect', targetDriversDir)
+         
+     def copySample(self, samplesDir, name, isLibrary = False, isGL = False, isJava = False):
+-        if self.arch == 'Arm' and isGL:
+-            return
+-            
++
+         sampleTargetDir = os.path.join(samplesDir, name)
+         sampleSourceDir = os.path.join(self.rootDir, 'Samples', name)
+@@ -262,9 +260,7 @@ $(OUTPUT_FILE): copy-redist
+             self.copyExecutable(self.binDir, name, os.path.join(samplesDir, 'Bin'))
+         
+     def copyTool(self, toolsDir, name, isGL = False):
+-        if self.arch == 'Arm' and isGL:
+-            return
+-            
++
+         self.copyExecutable(self.binDir, name, toolsDir)
+     def copyDocumentation(self, docDir):
+--- a/Source/Tools/NiViewer/Makefile
++++ b/Source/Tools/NiViewer/Makefile
+@@ -26,7 +26,7 @@ else
+ endif
+ LIB_DIRS  += ../../../ThirdParty/PSCommon/XnLib/Bin/$(PLATFORM)-$(CFG)
+-USED_LIBS += OpenNI2 XnLib
++USED_LIBS += OpenNI2 XnLib pthread
+ EXE_NAME = NiViewer
+--- a/ThirdParty/PSCommon/BuildSystem/Platform.Arm
++++ b/ThirdParty/PSCommon/BuildSystem/Platform.Arm
+@@ -1,7 +1,10 @@
++# some defaults
++export GLUT_SUPPORTED=1
++
+ ifeq "$(CFG)" "Release"
+     # Hardware specifying flags
+-    CFLAGS += -march=armv7-a -mtune=cortex-a9 -mfpu=neon -mfloat-abi=softfp #-mcpu=cortex-a8
++    CFLAGS += -Wno-unused-local-typedefs -march=armv7-a -mtune=cortex-a9 -mfpu=neon #-mfloat-abi=softfp #-mcpu=cortex-a8
+     # Optimization level, minus currently buggy optimizing methods (which break bit-exact)
+     CFLAGS += -O3 -fno-tree-pre -fno-strict-aliasing
+-- 
+1.9.1
+
diff --git a/patches/0011-Mark-variables-unused.patch b/patches/0011-Mark-variables-unused.patch
new file mode 100644 (file)
index 0000000..98d26b2
--- /dev/null
@@ -0,0 +1,74 @@
+From: Jochen Sprickerhof <git@jochen.sprickerhof.de>
+Date: Sun, 16 Aug 2015 09:33:27 +0200
+Subject: Mark variables unused
+
+---
+ ThirdParty/PSCommon/XnLib/Include/XnMath.h             | 8 ++++----
+ ThirdParty/PSCommon/XnLib/Include/XnStatusRegister.h   | 2 +-
+ ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxTime.cpp | 2 +-
+ ThirdParty/PSCommon/XnLib/Source/XnStatus.cpp          | 2 +-
+ 4 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/ThirdParty/PSCommon/XnLib/Include/XnMath.h b/ThirdParty/PSCommon/XnLib/Include/XnMath.h
+index df6044d..c52ea7e 100644
+--- a/ThirdParty/PSCommon/XnLib/Include/XnMath.h
++++ b/ThirdParty/PSCommon/XnLib/Include/XnMath.h
+@@ -155,15 +155,15 @@ namespace xnl
+ #endif
+               static const XnFloat ONE_THIRD = (XnFloat)(1.0f/3.0f);
+               static const XnFloat ONE_SIXTH = (XnFloat)(1.0f/6.0f);
+-              static const XnFloat ROOT_TWO = (XnFloat)Sqrt(2.0f);
+-              static const XnFloat ROOT_THREE = (XnFloat)Sqrt(3.0f);
++              static const XnFloat ROOT_TWO __attribute__ ((unused)) = (XnFloat)Sqrt(2.0f);
++              static const XnFloat ROOT_THREE __attribute__ ((unused)) = (XnFloat)Sqrt(3.0f);
+               static const XnFloat PI = (XnFloat)M_PI;
+               static const XnFloat HALF_PI = (XnFloat)(0.5f*M_PI);
+               static const XnFloat TWO_PI = (XnFloat)(2.0f*M_PI);
+-              static const XnFloat ROOT_TWO_PI = (XnFloat)Sqrt(2.0f*M_PI);
++              static const XnFloat ROOT_TWO_PI __attribute__ ((unused)) = (XnFloat)Sqrt(2.0f*M_PI);
+               static const XnFloat DTR = (XnFloat)(M_PI / 180.0f);
+               static const XnFloat RTD = (XnFloat)(180.0f / M_PI);
+-              static const XnFloat PHI = (XnFloat)((-1.0f + Sqrt(5.0f)) / 2.0f);
++              static const XnFloat PHI __attribute__ ((unused)) = (XnFloat)((-1.0f + Sqrt(5.0f)) / 2.0f);
+       } // Math
+ } // xnl
+diff --git a/ThirdParty/PSCommon/XnLib/Include/XnStatusRegister.h b/ThirdParty/PSCommon/XnLib/Include/XnStatusRegister.h
+index bdca0df..cc1ae77 100644
+--- a/ThirdParty/PSCommon/XnLib/Include/XnStatusRegister.h
++++ b/ThirdParty/PSCommon/XnLib/Include/XnStatusRegister.h
+@@ -73,7 +73,7 @@ XN_C_API XnStatus XN_C_DECL xnRegisterErrorCodeMessages(XnUInt16 nGroup, XnUInt1
+ /** Marks the end of a message map. */
+ #define XN_STATUS_MESSAGE_MAP_END_FROM(group, first)  \
+       };                                                                                                      \
+-      static XnStatus s_##group##first##_result = xnRegisterErrorCodeMessages(group, first, sizeof(_XN_ERROR_GROUP_NAME(group, first)) / sizeof(XnErrorCodeData), _XN_ERROR_GROUP_NAME(group, first));
++      static XnStatus s_##group##first##_result __attribute__ ((unused)) = xnRegisterErrorCodeMessages(group, first, sizeof(_XN_ERROR_GROUP_NAME(group, first)) / sizeof(XnErrorCodeData), _XN_ERROR_GROUP_NAME(group, first));
+ #define XN_STATUS_REGISTER
+diff --git a/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxTime.cpp b/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxTime.cpp
+index 75f5b8d..1f8b8ae 100644
+--- a/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxTime.cpp
++++ b/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxTime.cpp
+@@ -30,7 +30,7 @@ XnOSTimer g_xnOSHighResGlobalTimer;
+ bool g_xnOSInitialized = false;
+ XnStatus xnOSTimeInit();
+-static XnStatus g_initalizeStatus = xnOSTimeInit();
++static XnStatus g_initalizeStatus __attribute__ ((unused)) = xnOSTimeInit();
+ //---------------------------------------------------------------------------
+ // Macros
+diff --git a/ThirdParty/PSCommon/XnLib/Source/XnStatus.cpp b/ThirdParty/PSCommon/XnLib/Source/XnStatus.cpp
+index 1659649..9c19e6b 100644
+--- a/ThirdParty/PSCommon/XnLib/Source/XnStatus.cpp
++++ b/ThirdParty/PSCommon/XnLib/Source/XnStatus.cpp
+@@ -44,7 +44,7 @@ typedef xnl::Hash<XnUInt16, XnStatusHash*> XnGroupsHash;
+ static XnGroupsHash* g_pErrorGroups = NULL;
+ static XnErrorCodeData s_OK_Data = { XN_STATUS_OK, XN_STRINGIFY(XN_STATUS_OK), "OK" };
+-static XnStatus s_XN_OK_result = xnRegisterErrorCodeMessages(0, 0, 1, &s_OK_Data);
++static XnStatus s_XN_OK_result __attribute__ ((unused)) = xnRegisterErrorCodeMessages(0, 0, 1, &s_OK_Data);
+ //---------------------------------------------------------------------------
+ // Code
diff --git a/patches/0012-generic-linux.patch b/patches/0012-generic-linux.patch
new file mode 100644 (file)
index 0000000..d2c1cb2
--- /dev/null
@@ -0,0 +1,225 @@
+diff -urN openni2-2.2.0.33+dfsg.old/Include/Linux-generic/OniPlatformLinux-generic.h openni2-2.2.0.33+dfsg/Include/Linux-generic/OniPlatformLinux-generic.h
+--- openni2-2.2.0.33+dfsg.old/Include/Linux-generic/OniPlatformLinux-generic.h 1970-01-01 02:00:00.000000000 +0200
++++ openni2-2.2.0.33+dfsg/Include/Linux-generic/OniPlatformLinux-generic.h     2015-10-06 15:58:43.000000000 +0300
+@@ -0,0 +1,36 @@
++/*****************************************************************************
++*                                                                            *
++*  OpenNI 2.x Alpha                                                          *
++*  Copyright (C) 2012 PrimeSense Ltd.                                        *
++*                                                                            *
++*  This file is part of OpenNI.                                              *
++*                                                                            *
++*  Licensed under the Apache License, Version 2.0 (the "License");           *
++*  you may not use this file except in compliance with the License.          *
++*  You may obtain a copy of the License at                                   *
++*                                                                            *
++*      http://www.apache.org/licenses/LICENSE-2.0                            *
++*                                                                            *
++*  Unless required by applicable law or agreed to in writing, software       *
++*  distributed under the License is distributed on an "AS IS" BASIS,         *
++*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  *
++*  See the License for the specific language governing permissions and       *
++*  limitations under the License.                                            *
++*                                                                            *
++*****************************************************************************/
++#ifndef _ONI_PLATFORM_LINUX_GENERIC_H_
++#define _ONI_PLATFORM_LINUX_GENERIC_H_
++
++// Start with Linux-x86, and override what's different
++#include "../Linux-x86/OniPlatformLinux-x86.h"
++
++//---------------------------------------------------------------------------
++// Platform Basic Definition
++//---------------------------------------------------------------------------
++#undef ONI_PLATFORM
++#undef ONI_PLATFORM_STRING
++#define ONI_PLATFORM ONI_PLATFORM_LINUX_GENERIC
++#define ONI_PLATFORM_STRING "Linux-generic"
++
++#endif //_ONI_PLATFORM_LINUX_GENERIC_H_
++
+diff -urN openni2-2.2.0.33+dfsg.old/Include/OniPlatform.h openni2-2.2.0.33+dfsg/Include/OniPlatform.h
+--- openni2-2.2.0.33+dfsg.old/Include/OniPlatform.h    2013-11-12 16:12:23.000000000 +0200
++++ openni2-2.2.0.33+dfsg/Include/OniPlatform.h        2015-10-06 16:00:13.000000000 +0300
+@@ -27,6 +27,7 @@
+ #define ONI_PLATFORM_LINUX_ARM 3
+ #define ONI_PLATFORM_MACOSX 4
+ #define ONI_PLATFORM_ANDROID_ARM 5
++#define ONI_PLATFORM_LINUX_GENERIC 6
+ #if (defined _WIN32)
+ #     ifndef RC_INVOKED
+@@ -41,6 +42,8 @@
+ #     include "Linux-x86/OniPlatformLinux-x86.h"
+ #elif (__linux__ && __arm__)
+ #     include "Linux-Arm/OniPlatformLinux-Arm.h"
++#elif (__linux__)
++#     include "Linux-generic/OniPlatformLinux-generic.h"
+ #elif _ARC
+ #     include "ARC/OniPlaformARC.h"
+ #elif (__APPLE__)
+diff -urN openni2-2.2.0.33+dfsg.old/Source/Drivers/PS1080/Sensor/XnDeviceSensorInit.h openni2-2.2.0.33+dfsg/Source/Drivers/PS1080/Sensor/XnDeviceSensorInit.h
+--- openni2-2.2.0.33+dfsg.old/Source/Drivers/PS1080/Sensor/XnDeviceSensorInit.h        2013-11-12 16:12:23.000000000 +0200
++++ openni2-2.2.0.33+dfsg/Source/Drivers/PS1080/Sensor/XnDeviceSensorInit.h    2015-10-06 16:03:01.000000000 +0300
+@@ -57,7 +57,7 @@
+       #define XN_SENSOR_USB_MISC_BUFFER_SIZE  0x1000
+       #define XN_SENSOR_USB_MISC_BUFFERS              1
+-#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM)
++#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM_LINUX_GENERIC)
+       #define XN_SENSOR_USB_IMAGE_BUFFER_SIZE_MULTIPLIER_ISO                          32
+       #define XN_SENSOR_USB_IMAGE_BUFFER_SIZE_MULTIPLIER_BULK                         40
+       #define XN_SENSOR_USB_IMAGE_BUFFER_SIZE_MULTIPLIER_LOWBAND_ISO          16
+diff -urN openni2-2.2.0.33+dfsg.old/Source/Drivers/PSLink/LinkProtoLib/XnClientUSBInDataEndpoint.cpp openni2-2.2.0.33+dfsg/Source/Drivers/PSLink/LinkProtoLib/XnClientUSBInDataEndpoint.cpp
+--- openni2-2.2.0.33+dfsg.old/Source/Drivers/PSLink/LinkProtoLib/XnClientUSBInDataEndpoint.cpp 2013-11-12 16:12:23.000000000 +0200
++++ openni2-2.2.0.33+dfsg/Source/Drivers/PSLink/LinkProtoLib/XnClientUSBInDataEndpoint.cpp     2015-10-06 16:06:15.000000000 +0300
+@@ -16,7 +16,7 @@
+       const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_BUFFER_NUM_PACKETS_BULK = 120;
+       const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_NUM_BUFFERS_BULK = 8;
+       const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_TIMEOUT_BULK = 1000;
+-#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM)
++#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM_LINUX_GENERIC )
+       const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_BUFFER_NUM_PACKETS_ISO = 32;
+       const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_NUM_BUFFERS_ISO = 16;
+       const XnUInt32 ClientUSBInDataEndpoint::READ_THREAD_TIMEOUT_ISO = 100;
+diff -urN openni2-2.2.0.33+dfsg.old/Source/Drivers/PSLink/PS1200Device.cpp openni2-2.2.0.33+dfsg/Source/Drivers/PSLink/PS1200Device.cpp
+--- openni2-2.2.0.33+dfsg.old/Source/Drivers/PSLink/PS1200Device.cpp   2013-11-12 16:12:23.000000000 +0200
++++ openni2-2.2.0.33+dfsg/Source/Drivers/PSLink/PS1200Device.cpp       2015-10-06 16:04:19.000000000 +0300
+@@ -43,7 +43,7 @@
+       // On all platforms other than Windows, prefer BULK
+       nRetVal = SetUsbAltInterface(0);
+       XN_IS_STATUS_OK_LOG_ERROR("Switch to ISO", nRetVal);
+-#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM)
++#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_MACOSX || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM_LINUX_GENERIC)
+       // On all platforms other than Windows, prefer BULK
+       nRetVal = SetUsbAltInterface(1);
+       XN_IS_STATUS_OK_LOG_ERROR("Switch to BULK", nRetVal);
+diff -urN openni2-2.2.0.33+dfsg.old/Source/Tools/NiViewer/NiViewer.cpp openni2-2.2.0.33+dfsg/Source/Tools/NiViewer/NiViewer.cpp
+--- openni2-2.2.0.33+dfsg.old/Source/Tools/NiViewer/NiViewer.cpp       2015-10-06 16:52:52.000000000 +0300
++++ openni2-2.2.0.33+dfsg/Source/Tools/NiViewer/NiViewer.cpp   2015-10-06 16:08:39.000000000 +0300
+@@ -89,7 +89,8 @@
+ #if (ONI_PLATFORM == ONI_PLATFORM_WIN32)
+       #include <conio.h>
+       #include <direct.h>     
+-#elif (ONI_PLATFORM == ONI_PLATFORM_LINUX_X86 || ONI_PLATFORM == ONI_PLATFORM_LINUX_ARM || ONI_PLATFORM == ONI_PLATFORM_MACOSX)
++#elif (ONI_PLATFORM == ONI_PLATFORM_LINUX_X86 || ONI_PLATFORM == ONI_PLATFORM_LINUX_ARM \
++    || ONI_PLATFORM == ONI_PLATFORM_MACOSX ||ONI_PLATFORM == ONI_PLATFORM_LINUX_GENERIC)
+       #define _getch() getchar()
+ #endif
+diff -urN openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak
+--- openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak   2015-10-06 16:52:52.000000000 +0300
++++ openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak       2015-10-05 16:29:38.000000000 +0300
+@@ -21,7 +21,7 @@
+ else ifneq (,$(findstring arm,$(MACHINE)))
+       HOST_PLATFORM = Arm
+ else
+-      DUMMY:=$(error Can't determine host platform)
++      HOST_PLATFORM = generic
+ endif
+ # now check if this is a cross-compilation or not
+diff -urN openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/BuildSystem/Platform.generic openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/BuildSystem/Platform.generic
+--- openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/BuildSystem/Platform.generic 1970-01-01 02:00:00.000000000 +0200
++++ openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/BuildSystem/Platform.generic     2015-10-05 15:18:40.000000000 +0300
+@@ -0,0 +1,4 @@
++# some defaults
++export GLUT_SUPPORTED=1
++FLAGS += -O3 -fno-strict-aliasing
++
+diff -urN openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/XnLib/Include/Linux-generic/XnPlatformLinux-generic.h openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/XnLib/Include/Linux-generic/XnPlatformLinux-generic.h
+--- openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/XnLib/Include/Linux-generic/XnPlatformLinux-generic.h        1970-01-01 02:00:00.000000000 +0200
++++ openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/XnLib/Include/Linux-generic/XnPlatformLinux-generic.h    2015-10-05 15:22:50.000000000 +0300
+@@ -0,0 +1,36 @@
++/*****************************************************************************
++*                                                                            *
++*  PrimeSense PSCommon Library                                               *
++*  Copyright (C) 2012 PrimeSense Ltd.                                        *
++*                                                                            *
++*  This file is part of PSCommon.                                            *
++*                                                                            *
++*  Licensed under the Apache License, Version 2.0 (the "License");           *
++*  you may not use this file except in compliance with the License.          *
++*  You may obtain a copy of the License at                                   *
++*                                                                            *
++*      http://www.apache.org/licenses/LICENSE-2.0                            *
++*                                                                            *
++*  Unless required by applicable law or agreed to in writing, software       *
++*  distributed under the License is distributed on an "AS IS" BASIS,         *
++*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  *
++*  See the License for the specific language governing permissions and       *
++*  limitations under the License.                                            *
++*                                                                            *
++*****************************************************************************/
++#ifndef _XN_PLATFORM_LINUX_GENERIC_H_
++#define _XN_PLATFORM_LINUX_GENERIC_H_
++
++// Start with Linux-x86, and override what's different
++#include "../Linux-x86/XnPlatformLinux-x86.h"
++
++//---------------------------------------------------------------------------
++// Platform Basic Definition
++//---------------------------------------------------------------------------
++#undef XN_PLATFORM
++#undef XN_PLATFORM_STRING
++#define XN_PLATFORM XN_PLATFORM_LINUX_GENERIC
++#define XN_PLATFORM_STRING "Linux-generic"
++
++#endif //_XN_PLATFORM_LINUX_GENERIC_H_
++
+diff -urN openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/XnLib/Include/XnOS.h openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/XnLib/Include/XnOS.h
+--- openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/XnLib/Include/XnOS.h 2013-11-12 16:12:23.000000000 +0200
++++ openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/XnLib/Include/XnOS.h     2015-10-05 15:41:15.000000000 +0300
+@@ -43,7 +43,7 @@
+ //---------------------------------------------------------------------------
+ #if (XN_PLATFORM == XN_PLATFORM_WIN32)
+       #include "Win32/XnOSWin32.h"
+-#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM)
++#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_ANDROID_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_GENERIC)
+       #include "Linux-x86/XnOSLinux-x86.h"
+ #elif (XN_PLATFORM == XN_PLATFORM_MACOSX)
+         #include "MacOSX/XnOSMacOSX.h"
+diff -urN openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/XnLib/Include/XnPlatform.h openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/XnLib/Include/XnPlatform.h
+--- openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/XnLib/Include/XnPlatform.h   2013-11-12 16:12:23.000000000 +0200
++++ openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/XnLib/Include/XnPlatform.h       2015-10-06 15:47:56.000000000 +0300
+@@ -31,6 +31,7 @@
+ #define XN_PLATFORM_LINUX_ARM 7
+ #define XN_PLATFORM_MACOSX 8
+ #define XN_PLATFORM_ANDROID_ARM 9
++#define XN_PLATFORM_LINUX_GENERIC 10
+ #define XN_PLATFORM_IS_LITTLE_ENDIAN 1
+ #define XN_PLATFORM_IS_BIG_ENDIAN    2
+@@ -53,6 +54,8 @@
+ #include "Linux-x86/XnPlatformLinux-x86.h"
+ #elif (__linux__ && __arm__)
+ #include "Linux-Arm/XnPlatformLinux-Arm.h"
++#elif (__linux__) 
++#include "Linux-generic/XnPlatformLinux-generic.h"
+ #elif _ARC
+ #include "ARC/XnPlaformARC.h"
+ #elif (__APPLE__)
+diff -urN openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/XnLib/Include/XnUSBDevice.h openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/XnLib/Include/XnUSBDevice.h
+--- openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/XnLib/Include/XnUSBDevice.h  2013-11-12 16:12:23.000000000 +0200
++++ openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/XnLib/Include/XnUSBDevice.h      2015-10-05 15:42:37.000000000 +0300
+@@ -47,7 +47,7 @@
+       #define USB_DT_DEVICE_SIZE 0
+       #define USB_DT_DEVICE 0
+-#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM)
++#elif (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_GENERIC)
+       #include <linux/usb/ch9.h>
+       typedef struct usb_endpoint_descriptor XnUSBEndpointDescriptor;
+       typedef struct usb_interface_descriptor XnUSBInterfaceDescriptor;
+diff -urN openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxUSB.cpp openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxUSB.cpp
+--- openni2-2.2.0.33+dfsg.old/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxUSB.cpp    2013-11-12 16:12:23.000000000 +0200
++++ openni2-2.2.0.33+dfsg/ThirdParty/PSCommon/XnLib/Source/Linux/XnLinuxUSB.cpp        2015-10-05 15:43:24.000000000 +0300
+@@ -36,7 +36,7 @@
+ #include <XnOSCpp.h>
+ #include <XnList.h>
+-#if (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM)
++#if (XN_PLATFORM == XN_PLATFORM_LINUX_X86 || XN_PLATFORM == XN_PLATFORM_LINUX_ARM || XN_PLATFORM == XN_PLATFORM_LINUX_GENERIC)
+ #include <libudev.h>
+ #define XN_USE_UDEV
+ #endif
diff --git a/patches/0013-Fix-GCC6-compilation.patch b/patches/0013-Fix-GCC6-compilation.patch
new file mode 100644 (file)
index 0000000..8227c97
--- /dev/null
@@ -0,0 +1,190 @@
+From: Jochen Sprickerhof <git@jochen.sprickerhof.de>
+Date: Sat, 23 Jan 2016 15:56:22 +0100
+Subject: Fix GCC6 compilation
+
+* Ignore Warray-bounds
+* Rename equivalent to fix compilation on gcc6
+* Fix -Werror=misleading-indentation
+---
+ Source/Drivers/PS1080/Formats/XnFormatsMirror.cpp |  3 ++
+ ThirdParty/GL/glh/glh_glut2.h                     |  2 +-
+ ThirdParty/GL/glh/glh_linear.h                    | 66 +++++++++++------------
+ 3 files changed, 37 insertions(+), 34 deletions(-)
+
+diff --git a/Source/Drivers/PS1080/Formats/XnFormatsMirror.cpp b/Source/Drivers/PS1080/Formats/XnFormatsMirror.cpp
+index 120534c..7759333 100644
+--- a/Source/Drivers/PS1080/Formats/XnFormatsMirror.cpp
++++ b/Source/Drivers/PS1080/Formats/XnFormatsMirror.cpp
+@@ -26,6 +26,8 @@
+ #include "XnFormats.h"
+ #include <XnOS.h>
+ #include <XnLog.h>
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Warray-bounds"
+ //---------------------------------------------------------------------------
+ // Defines
+@@ -240,3 +242,4 @@ XnStatus XnFormatsMirrorPixelData(OniPixelFormat nOutputFormat, XnUChar* pBuffer
+               return XN_STATUS_ERROR;
+       }
+ }
++#pragma GCC diagnostic pop
+diff --git a/ThirdParty/GL/glh/glh_glut2.h b/ThirdParty/GL/glh/glh_glut2.h
+index 908a0fc..0430698 100644
+--- a/ThirdParty/GL/glh/glh_glut2.h
++++ b/ThirdParty/GL/glh/glh_glut2.h
+@@ -190,7 +190,7 @@ namespace glh
+   {
+       if (interactors.empty())
+         return;
+-        std::list<glut_interactor *>::iterator it = 
++      std::list<glut_interactor *>::iterator it = 
+                 std::find(interactors.begin(), interactors.end(), gi);
+       if(it != interactors.end())
+         interactors.erase(it);
+diff --git a/ThirdParty/GL/glh/glh_linear.h b/ThirdParty/GL/glh/glh_linear.h
+index 422c05f..2e033ba 100644
+--- a/ThirdParty/GL/glh/glh_linear.h
++++ b/ThirdParty/GL/glh/glh_linear.h
+@@ -77,7 +77,7 @@ glh_linear.h
+ #define     GLH_EPSILON         GLH_REAL(10e-6)
+ #define     GLH_PI              GLH_REAL(3.1415926535897932384626433832795)    
+-#define     equivalent(a,b)     (((a < b + GLH_EPSILON) && (a > b - GLH_EPSILON)) ? true : false)
++#define     glh_equivalent(a,b)     (((a < b + GLH_EPSILON) && (a > b - GLH_EPSILON)) ? true : false)
+ namespace glh
+ {
+@@ -225,7 +225,7 @@ namespace glh
+               for(int i = 0; i < N; i++)
+                       if(v1.v[i] != v2.v[i])
+                               return false;
+-                      return true;
++              return true;
+       }
+       
+       template <int N, class T> inline
+@@ -633,7 +633,7 @@ namespace glh
+                       scp[i] = real(fabs(s[i][0]));
+                       for(j=1;j<4;j++)
+                               if(real(fabs(s[i][j])) > scp[i]) scp[i] = real(fabs(s[i][j]));
+-                              if(scp[i] == 0.0) return minv; // singular matrix!
++                      if(scp[i] == 0.0) return minv; // singular matrix!
+               }
+               
+               int pivot_to;
+@@ -647,26 +647,26 @@ namespace glh
+                       for(p=i+1;p<4;p++)
+                               if(real(fabs(s[p][i]/scp[p])) > scp_max)
+                               { scp_max = real(fabs(s[p][i]/scp[p])); pivot_to = p; }
+-                              // Pivot if necessary
+-                              if(pivot_to != i)
+-                              {
+-                                      tmprow = s[i];
+-                                      s[i] = s[pivot_to];
+-                                      s[pivot_to] = tmprow;
+-                                      real tmpscp;
+-                                      tmpscp = scp[i];
+-                                      scp[i] = scp[pivot_to];
+-                                      scp[pivot_to] = tmpscp;
+-                              }
+-                              
+-                              real mji;
+-                              // perform gaussian elimination
+-                              for(j=i+1;j<4;j++)
+-                              {
+-                                      mji = s[j][i]/s[i][i];
+-                                      s[j][i] = 0.0;
+-                                      for(jj=i+1;jj<8;jj++)
+-                                              s[j][jj] -= mji*s[i][jj];
++                      // Pivot if necessary
++                      if(pivot_to != i)
++                      {
++                              tmprow = s[i];
++                              s[i] = s[pivot_to];
++                              s[pivot_to] = tmprow;
++                              real tmpscp;
++                              tmpscp = scp[i];
++                              scp[i] = scp[pivot_to];
++                              scp[pivot_to] = tmpscp;
++                      }
++
++                      real mji;
++                      // perform gaussian elimination
++                      for(j=i+1;j<4;j++)
++                      {
++                              mji = s[j][i]/s[i][i];
++                              s[j][i] = 0.0;
++                              for(jj=i+1;jj<8;jj++)
++                                      s[j][jj] -= mji*s[i][jj];
+                               }
+               }
+               if(s[3][3] == 0.0) return minv; // singular matrix!
+@@ -702,7 +702,7 @@ namespace glh
+                       for(j=0;j<4;j++)
+                               minv(i,j) = s[i][j+4] / s[i][i];
+                       
+-                      return minv;
++              return minv;
+       }
+     
+     
+@@ -1093,7 +1093,7 @@ namespace glh
+         real norm = q[0] * q[0] + q[1] * q[1] + q[2] * q[2] + q[3] * q[3];
+-        s = (equivalent(norm,GLH_ZERO)) ? GLH_ZERO : ( GLH_TWO / norm );
++        s = (glh_equivalent(norm,GLH_ZERO)) ? GLH_ZERO : ( GLH_TWO / norm );
+         xs = q[0] * s;
+         ys = q[1] * s;
+@@ -1194,7 +1194,7 @@ namespace glh
+             theta *= real(0.5);
+             real sin_theta = real(sin(theta));
+-            if (!equivalent(sqnorm,GLH_ONE)) 
++            if (!glh_equivalent(sqnorm,GLH_ONE)) 
+               sin_theta /= real(sqrt(sqnorm));
+             x = sin_theta * axis.v[0];
+             y = sin_theta * axis.v[1];
+@@ -1216,14 +1216,14 @@ namespace glh
+         alpha = p1.dot(p2);
+-        if(equivalent(alpha,GLH_ONE))
++        if(glh_equivalent(alpha,GLH_ONE))
+         { 
+             *this = identity(); 
+             return *this; 
+         }
+         // ensures that the anti-parallel case leads to a positive dot
+-        if(equivalent(alpha,-GLH_ONE))
++        if(glh_equivalent(alpha,-GLH_ONE))
+         {
+             vec3 v;
+@@ -1280,7 +1280,7 @@ namespace glh
+     void normalize()
+     {
+         real rnorm = GLH_ONE / real(sqrt(w * w + x * x + y * y + z * z));
+-        if (equivalent(rnorm, GLH_ZERO))
++        if (glh_equivalent(rnorm, GLH_ZERO))
+             return;
+         x *= rnorm;
+         y *= rnorm;
+@@ -1439,10 +1439,10 @@ namespace glh
+     inline
+     bool operator == ( const quaternion & q1, const quaternion & q2 )
+     {
+-        return (equivalent(q1.x, q2.x) &&
+-                      equivalent(q1.y, q2.y) &&
+-                      equivalent(q1.z, q2.z) &&
+-                      equivalent(q1.w, q2.w) );
++        return (glh_equivalent(q1.x, q2.x) &&
++                      glh_equivalent(q1.y, q2.y) &&
++                      glh_equivalent(q1.z, q2.z) &&
++                      glh_equivalent(q1.w, q2.w) );
+     }
+     inline
diff --git a/patches/0014-fix-format-overflow-for-GCC7.patch b/patches/0014-fix-format-overflow-for-GCC7.patch
new file mode 100644 (file)
index 0000000..98c3922
--- /dev/null
@@ -0,0 +1,37 @@
+From: Jochen Sprickerhof <git@jochen.sprickerhof.de>
+Date: Tue, 7 Feb 2017 17:30:41 +0100
+Subject: fix format-overflow for GCC7
+
+---
+ Source/Drivers/PS1080/Sensor/XnFrameStreamProcessor.cpp | 4 ++--
+ Source/Drivers/PS1080/Sensor/XnSensorFirmwareParams.cpp | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Source/Drivers/PS1080/Sensor/XnFrameStreamProcessor.cpp b/Source/Drivers/PS1080/Sensor/XnFrameStreamProcessor.cpp
+index 9663e41..62cf1c7 100644
+--- a/Source/Drivers/PS1080/Sensor/XnFrameStreamProcessor.cpp
++++ b/Source/Drivers/PS1080/Sensor/XnFrameStreamProcessor.cpp
+@@ -40,8 +40,8 @@ XnFrameStreamProcessor::XnFrameStreamProcessor(XnFrameStream* pStream, XnSensorS
+       m_nLastSOFPacketID(0),
+       m_nFirstPacketTimestamp(0)
+ {
+-      sprintf(m_csInDumpMask, "%sIn", pStream->GetType());
+-      sprintf(m_csInternalDumpMask, "Internal%s", pStream->GetType());
++      snprintf(m_csInDumpMask, 100, "%.90sIn", pStream->GetType());
++      snprintf(m_csInternalDumpMask, 100, "Internal%.90s", pStream->GetType());
+       m_InDump = xnDumpFileOpen(m_csInDumpMask, "%s_0.raw", m_csInDumpMask);
+       m_InternalDump = xnDumpFileOpen(m_csInternalDumpMask, "%s_0.raw", m_csInternalDumpMask);
+ }
+diff --git a/Source/Drivers/PS1080/Sensor/XnSensorFirmwareParams.cpp b/Source/Drivers/PS1080/Sensor/XnSensorFirmwareParams.cpp
+index f93f333..d962ec0 100644
+--- a/Source/Drivers/PS1080/Sensor/XnSensorFirmwareParams.cpp
++++ b/Source/Drivers/PS1080/Sensor/XnSensorFirmwareParams.cpp
+@@ -263,7 +263,7 @@ XnStatus XnSensorFirmwareParams::AddFirmwareParam(XnActualIntProperty& Property,
+       XN_IS_STATUS_OK(nRetVal);
+       XnChar csNewName[XN_DEVICE_MAX_STRING_LENGTH];
+-      sprintf(csNewName, "%s (%d)", Property.GetName(), nFirmwareParam);
++      snprintf(csNewName, XN_DEVICE_MAX_STRING_LENGTH, "%.150s (%d)", Property.GetName(), nFirmwareParam);
+       Property.UpdateName("Firmware", csNewName);
+       Property.SetLogSeverity(XN_LOG_VERBOSE);
diff --git a/patches/0015-Initialize-variable-for-gcc7.patch b/patches/0015-Initialize-variable-for-gcc7.patch
new file mode 100644 (file)
index 0000000..321f0e1
--- /dev/null
@@ -0,0 +1,21 @@
+From: Jochen Sprickerhof <git@jochen.sprickerhof.de>
+Date: Tue, 8 Aug 2017 22:53:14 +0200
+Subject: Initialize variable for gcc7
+
+---
+ Source/Tools/NiViewer/Device.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Source/Tools/NiViewer/Device.cpp b/Source/Tools/NiViewer/Device.cpp
+index 28cbfee..7037320 100644
+--- a/Source/Tools/NiViewer/Device.cpp
++++ b/Source/Tools/NiViewer/Device.cpp
+@@ -364,7 +364,7 @@ void toggleMirror(int )
+ void toggleCloseRange(int )
+ {
+-      bool bCloseRange;
++      bool bCloseRange = false;
+       g_depthStream.getProperty(XN_STREAM_PROPERTY_CLOSE_RANGE, &bCloseRange);
+       bCloseRange = !bCloseRange;
diff --git a/patches/0016-Use-the-generic-platform-for-armel-armhf-NEON-is-not.patch b/patches/0016-Use-the-generic-platform-for-armel-armhf-NEON-is-not.patch
new file mode 100644 (file)
index 0000000..1fb5800
--- /dev/null
@@ -0,0 +1,22 @@
+From: Adrian Bunk <bunk@debian.org>
+Date: Sat, 9 Sep 2017 15:02:51 +0200
+Subject: Use the generic platform for armel+armhf NEON is not part of the
+ armel and armhf baselines.
+
+---
+ ThirdParty/PSCommon/BuildSystem/CommonDefs.mak | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak b/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak
+index c29d9bd..6384ef8 100644
+--- a/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak
++++ b/ThirdParty/PSCommon/BuildSystem/CommonDefs.mak
+@@ -18,8 +18,6 @@ else ifneq (,$(findstring i386,$(MACHINE)))
+       HOST_PLATFORM = x86
+ else ifneq (,$(findstring armv6l,$(MACHINE)))
+       HOST_PLATFORM = Armv6l
+-else ifneq (,$(findstring arm,$(MACHINE)))
+-      HOST_PLATFORM = Arm
+ else
+       HOST_PLATFORM = generic
+ endif
diff --git a/patches/series b/patches/series
new file mode 100644 (file)
index 0000000..17c1a0f
--- /dev/null
@@ -0,0 +1,16 @@
+0001-Add-SONAME-to-libraries.patch
+0002-Change-path-of-config-files-to-etc-openni2.patch
+0003-Use-system-wide-libjpeg.patch
+0004-disable-rpath.patch
+0005-change-default-ni-drivers-path.patch
+0006-rpi-Added-Armv6l-as-new-target-platform-and-created-missing-OniPlatformLinux-Arm.h-header.patch
+0006-Disable-SSE.patch
+0007-Link-NiViewer-against-ptherad-DSO-on-Ubuntu-raring.patch
+0008-Add-unused-attribute-to-fix-compilation-with-gcc-4.8.patch
+0009-Add-ARMhf-support.patch
+0011-Mark-variables-unused.patch
+0012-generic-linux.patch
+0013-Fix-GCC6-compilation.patch
+0014-fix-format-overflow-for-GCC7.patch
+0015-Initialize-variable-for-gcc7.patch
+0016-Use-the-generic-platform-for-armel-armhf-NEON-is-not.patch
diff --git a/rules b/rules
new file mode 100755 (executable)
index 0000000..008669b
--- /dev/null
+++ b/rules
@@ -0,0 +1,12 @@
+#!/usr/bin/make -f
+
+%:
+       dh $@ --buildsystem=makefile
+
+override_dh_auto_build:
+       make ALLOW_WARNINGS=1
+       -( cd Source/Documentation ; python ./Runme.py )
+        cd Bin/*-Release/ && mv NiViewer NiViewer2
+
+override_dh_shlibdeps:
+       dh_shlibdeps -- --ignore-missing-info
diff --git a/source.lintian-overrides b/source.lintian-overrides
new file mode 100644 (file)
index 0000000..d4a6f0f
--- /dev/null
@@ -0,0 +1,3 @@
+# this source code is not used at all, instead Debian's libusb is used
+openni2 source: outdated-autotools-helper-file ThirdParty/PSCommon/XnLib/ThirdParty/libusb-1.0.9-Android/config.sub 2010-09-11
+openni2 source: outdated-autotools-helper-file ThirdParty/PSCommon/XnLib/ThirdParty/libusb-1.0.9-Android/config.guess 2010-09-24
diff --git a/source/format b/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/source/options b/source/options
new file mode 100644 (file)
index 0000000..0415744
--- /dev/null
@@ -0,0 +1 @@
+extend-diff-ignore = "(^|/)(.project|.cproject|.pc)$"
diff --git a/watch b/watch
new file mode 100644 (file)
index 0000000..dd8d9ed
--- /dev/null
+++ b/watch
@@ -0,0 +1,7 @@
+# Watch control file for uscan
+# Compulsory line, this is a version 3 file
+version=3
+# For GitHub projects you can use the tags page:
+
+opts=filenamemangle=s/.+\/v?(\d\S*)\.tar\.gz/openni2-$1\.tar\.gz/ \
+  https://github.com/occipital/OpenNI2/releases .*/v?(\d\S*)\.tar\.gz