From: Antonio Ospite Date: Sat, 9 Jan 2016 11:59:53 +0000 (+0100) Subject: Factor out a kinect_patch_udev_rules script X-Git-Tag: v0.5~7 X-Git-Url: https://git.ao2.it/kinect-audio-setup.git/commitdiff_plain/2b72519726f9afa3d9478f73e10dfbf52e30aa5d?ds=inline Factor out a kinect_patch_udev_rules script This allows to prepare the udev rules file at "make install" time, while still being able to fetch the firmware at some later stage. This makes it easier for packages to have a stable udev rules file. --- diff --git a/kinect_fetch_fw b/kinect_fetch_fw index 7c84cf1..9437a4d 100755 --- a/kinect_fetch_fw +++ b/kinect_fetch_fw @@ -21,9 +21,8 @@ set -e SDK_URL=${SDK_URL:-"http://download.microsoft.com/download/F/9/9/F99791F2-D5BE-478A-B77A-830AD14950C3/KinectSDK-v1.0-beta2-x86.msi"} SDK_MD5="40764fe9e00911bda5095e5be777e311" -[ $# -lt 1 ] && { echo "usage: $(basename "$0") []" 1>&2; exit 1; } +[ $# -lt 1 ] && { echo "usage: $(basename "$0") " 1>&2; exit 1; } FW_DESTDIR=$(readlink -m $1) -LOADER_PATH=${2:-"/usr/local/sbin/kinect_upload_fw"} command -v wget >/dev/null 2>&1 || { echo "$(basename "$0"): command 'wget' is needed." 1>&2 ; exit 1; } command -v 7z >/dev/null 2>&1 || { echo "$(basename "$0"): command '7z' is needed." 1>&2; exit 1; } @@ -63,10 +62,3 @@ FIRMWARE_PATH="${FW_DESTDIR}/UACFirmware" install -d "$FW_DESTDIR" install -m 644 "$FW_FILE" "$FIRMWARE_PATH" - -if [ -f "/lib/udev/rules.d/55-kinect_audio.rules" ]; -then - sed -e "s|@LOADER_PATH@|${LOADER_PATH}|g" \ - -e "s|@FIRMWARE_PATH@|${FIRMWARE_PATH}|g" \ - -i "/lib/udev/rules.d/55-kinect_audio.rules" -fi diff --git a/kinect_patch_udev_rules b/kinect_patch_udev_rules new file mode 100755 index 0000000..85027ce --- /dev/null +++ b/kinect_patch_udev_rules @@ -0,0 +1,36 @@ +#!/bin/sh +# +# kinect_patch_udev_rules - Patch contrib/ udev rules file to load UACFirmware +# +# Copyright (C) 2016 Antonio Ospite +# +# This program is free software. It comes without any warranty, to +# the extent permitted by applicable law. You can redistribute it +# and/or modify it under the terms of the Do What The Fuck You Want +# To Public License, Version 2, as published by Sam Hocevar. See +# http://sam.zoy.org/wtfpl/COPYING for more details. + +set -e + +[ $# -lt 3 ] && { echo "usage: $(basename "$0") <55-kinect_audio.rules path>" 1>&2; exit 1; } +FIRMWARE_PATH="$1" +LOADER_PATH="$2" +UDEV_RULES_PATH="$3" + +[ "x$FIRMWARE_PATH" != "x" ] || { echo "Empty FIRMWARE_PATH" 1>&2; exit 1;} +[ "x$LOADER_PATH" != "x" ] || { echo "Empty LOADER_PATH" 1>&2; exit 1;} + +# The udev rules file must exist the other files may not exist just yet: they +# may be under a prefixed path different from the final one, like in the case +# when this is called at package creation time. +[ -f "$UDEV_RULES_PATH" ] || { echo "Cannot find the udev rules file: $UDEV_RULES_PATH" 1>&2; exit 1; } + +if grep -q "@LOADER_PATH@ @FIRMWARE_PATH@" "$UDEV_RULES_PATH"; +then + sed -e "s|@LOADER_PATH@|${LOADER_PATH}|g" \ + -e "s|@FIRMWARE_PATH@|${FIRMWARE_PATH}|g" \ + -i "$UDEV_RULES_PATH" +else + echo "$UDEV_RULES_PATH does not contain the expected placeholders." 2>&1 + exit 1 +fi