Skip to content

Commit

Permalink
added DEB build capabilities
Browse files Browse the repository at this point in the history
  • Loading branch information
rbrusu committed Nov 13, 2012
1 parent d3fb9c6 commit b6125ab
Show file tree
Hide file tree
Showing 7 changed files with 165 additions and 0 deletions.
9 changes: 9 additions & 0 deletions CONTROL/55-primesense-usb.rules
@@ -0,0 +1,9 @@
# make primesense device mount with writing permissions (default is read only for unknown devices)
ATTRS{idProduct}=="0200",ATTRS{idVendor}=="1d27",MODE="666",GROUP="video"
ATTRS{idProduct}=="0300",ATTRS{idVendor}=="1d27",MODE="666",GROUP="video"
ATTRS{idProduct}=="0400",ATTRS{idVendor}=="1d27",MODE="666",GROUP="video"
ATTRS{idProduct}=="0500",ATTRS{idVendor}=="1d27",MODE="666",GROUP="video"
ATTRS{idProduct}=="0600",ATTRS{idVendor}=="1d27",MODE="666",GROUP="video"
ATTRS{idProduct}=="02ae",ATTRS{idVendor}=="045e",MODE="666",GROUP="video"
ATTRS{idProduct}=="02ad",ATTRS{idVendor}=="045e",MODE="666",GROUP="video"
ATTRS{idProduct}=="02b0",ATTRS{idVendor}=="045e",MODE="666",GROUP="video"
2 changes: 2 additions & 0 deletions CONTROL/blacklist-psengine.conf
@@ -0,0 +1,2 @@
# ps-engine driver conflicts with in kernel Kinect driver
blacklist gspca_kinect
8 changes: 8 additions & 0 deletions CONTROL/engine_control
@@ -0,0 +1,8 @@
Package: ps-engine
Version: __VERSION__
Section: devel
Priority: optional
Architecture: __ARCHITECTURE__
Depends: openni-dev (>=__OPENNI_VERSION__)
Maintainer: Open Perception, Inc (http://www.openperception.org)
Description: Primesense SDK Driver Plugin for OpenNI
41 changes: 41 additions & 0 deletions CONTROL/engine_postinst
@@ -0,0 +1,41 @@
#!/bin/sh
# postinst script for ps-engine
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
# <new-version>
# * <postinst> `abort-remove'
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package


case "$1" in
configure)
/usr/bin/niReg -r /usr/lib/libXnDeviceSensorV2.so /etc/openni
/usr/bin/niReg -r /usr/lib/libXnDeviceFile.so /etc/openni
;;

abort-upgrade|abort-remove|abort-deconfigure)
;;

*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0
42 changes: 42 additions & 0 deletions CONTROL/engine_prerm
@@ -0,0 +1,42 @@
#!/bin/sh
# prerm script for ps-engine
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
# * <prerm> `remove'
# * <old-prerm> `upgrade' <new-version>
# * <new-prerm> `failed-upgrade' <old-version>
# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
# * <deconfigured's-prerm> `deconfigure' `in-favour'
# <package-being-installed> <version> `removing'
# <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package


case "$1" in
remove)
/usr/bin/niReg -u /usr/lib/libXnDeviceSensorV2.so
/usr/bin/niReg -u /usr/lib/libXnDeviceFile.so
;;
upgrade|deconfigure)
;;

failed-upgrade)
;;

*)
echo "prerm called with unknown argument \`$1'" >&2
exit 1
;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0
10 changes: 10 additions & 0 deletions CONTROL/ps_engine.pc
@@ -0,0 +1,10 @@
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib

Name: ps-engine
Description: Primesense SDK Driver Plugin for OpenNI
Version: __VERSION__
Requires: openni-dev >= __VERSION__

Libs: -L${libdir} -lXnCore -lXnDDK -lXnFormats
53 changes: 53 additions & 0 deletions Makefile
@@ -0,0 +1,53 @@
BUILD_NUMBER=1
OPENNI_VERSION=1.5.4.0
PSENGINE_VERSION=5.1.2.1

ARCHITECTURE=$(shell uname -m)

ifeq (${ARCHITECTURE},x86_64)
ARCH=amd64
OPENNI_ARCH=x64
else
ARCH=i386
OPENNI_ARCH=xx
endif

DISTRO=$(shell lsb_release -sc)

OPENNI_PACKAGE_NAME=openni-dev-${OPENNI_VERSION}~${DISTRO}_$(ARCH)${BUILD_NUMBER}
ENGINE_PACKAGE_NAME=ps_engine-dev-${PSENGINE_VERSION}~${DISTRO}_$(ARCH)${BUILD_NUMBER}
PSENGINE_REDISTNAME=Sensor-Bin-Linux-${OPENNI_ARCH}-v${PSENGINE_VERSION}

all: debian

debian: debian_engine

debian_engine : $(ENGINE_PACKAGE_NAME).deb

$(ENGINE_PACKAGE_NAME).deb: ps_engine_lib
mkdir -p $(ENGINE_PACKAGE_NAME)/DEBIAN \
$(ENGINE_PACKAGE_NAME)/usr/bin \
$(ENGINE_PACKAGE_NAME)/usr/lib \
$(ENGINE_PACKAGE_NAME)/etc/openni \
$(ENGINE_PACKAGE_NAME)/etc/udev/rules.d \
$(ENGINE_PACKAGE_NAME)/etc/modprobe.d \
$(OPENNI_PACKAGE_NAME)/usr/lib/pkgconfig
cp -f ./CONTROL/engine_postinst $(ENGINE_PACKAGE_NAME)/DEBIAN/postinst
cp -f ./CONTROL/engine_prerm $(ENGINE_PACKAGE_NAME)/DEBIAN/prerm
cp -f ./Platform/Linux/Bin/${OPENNI_ARCH}-Release/*.so $(ENGINE_PACKAGE_NAME)/usr/lib/
cp -f ./Platform/Linux/Redist/${PSENGINE_REDISTNAME}/Config/*.ini $(ENGINE_PACKAGE_NAME)/etc/openni/
cp -f ./Platform/Linux/Bin/${OPENNI_ARCH}-Release/XnSensorServer $(ENGINE_PACKAGE_NAME)/usr/bin/
cp -f ./CONTROL/55-primesense-usb.rules $(ENGINE_PACKAGE_NAME)/etc/udev/rules.d/
cp -f ./CONTROL/blacklist-psengine.conf $(ENGINE_PACKAGE_NAME)/etc/modprobe.d/
@sed s/__VERSION__/${PSENGINE_VERSION}~${DISTRO}/ ./CONTROL/engine_control | sed s/__ARCHITECTURE__/$(ARCH)/ > $(ENGINE_PACKAGE_NAME)/DEBIAN/control
@sed -i s/__OPENNI_VERSION__/${OPENNI_VERSION}~${DISTRO}/ $(ENGINE_PACKAGE_NAME)/DEBIAN/control
@sed s/__VERSION__/${PSENGINE_VERSION}~${DISTRO}/ ./CONTROL/ps_engine.pc > $(OPENNI_PACKAGE_NAME)/usr/lib/pkgconfig/ps-engine.pc
@dpkg-deb -b $(ENGINE_PACKAGE_NAME)

ps_engine_lib:
cd Platform/Linux/CreateRedist && bash RedistMaker && cd -

clean:
rm -rf $(ENGINE_PACKAGE_NAME)
rm -f $(ENGINE_PACKAGE_NAME).deb

0 comments on commit b6125ab

Please sign in to comment.