Description: <short summary of the patch>
 TODO: Put a short summary on the line above and replace this paragraph
 with a longer explanation of this change. Complete the meta-information
 with other relevant fields (see below for details). To make it easier, the
 information below has been extracted from the changelog. Adjust it or drop
 it.
 .
 ola (0.10.2-3) unstable; urgency=medium
 .
   * Cherry-pick 4 commits from upstream git to fix include issues on
     mips*. Closes: #836383.
Author: Wouter Verhelst <wouter@debian.org>
Bug-Debian: https://bugs.debian.org/836383

---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:

Origin: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: https://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: 2016-11-22

--- /dev/null
+++ ola-0.10.3.nojsmin/.travis-ci.sh
@@ -0,0 +1,114 @@
+#!/bin/bash
+
+# This script is triggered from the script section of .travis.yml
+# It runs the appropriate commands depending on the task requested.
+
+set -e
+
+CPP_LINT_URL="https://raw.githubusercontent.com/google/styleguide/gh-pages/cpplint/cpplint.py";
+
+COVERITY_SCAN_BUILD_URL="https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh"
+
+if [[ $TASK = 'lint' ]]; then
+  # run the lint tool only if it is the requested task
+  autoreconf -i;
+  ./configure --enable-rdm-tests --enable-ja-rule;
+  # the following is a bit of a hack to build the files normally built during
+  # the build, so they are present for linting to run against
+  make builtfiles
+  # first check we've not got any generic NOLINTs
+  # count the number of generic NOLINTs
+  nolints=$(grep -IR NOLINT * | grep -v "NOLINT(" | wc -l)
+  if [[ $nolints -ne 0 ]]; then
+    # print the output for info
+    echo $(grep -IR NOLINT * | grep -v "NOLINT(")
+    echo "Found $nolints generic NOLINTs"
+    exit 1;
+  else
+    echo "Found $nolints generic NOLINTs"
+  fi;
+  # then fetch and run the main cpplint tool
+  wget -O cpplint.py $CPP_LINT_URL;
+  chmod u+x cpplint.py;
+  ./cpplint.py \
+    --filter=-legal/copyright,-readability/streams,-runtime/arrays \
+    $(find ./ \( -name "*.h" -or -name "*.cpp" \) -and ! \( \
+        -wholename "./common/protocol/Ola.pb.*" -or \
+        -wholename "./common/rpc/Rpc.pb.*" -or \
+        -wholename "./common/rpc/TestService.pb.*" -or \
+        -wholename "./common/rdm/Pids.pb.*" -or \
+        -wholename "./config.h" -or \
+        -wholename "./plugins/*/messages/*ConfigMessages.pb.*" -or \
+        -wholename "./tools/ola_trigger/config.tab.*" -or \
+        -wholename "./tools/ola_trigger/lex.yy.cpp" \) | xargs)
+  if [[ $? -ne 0 ]]; then
+    exit 1;
+  fi;
+elif [[ $TASK = 'check-licences' ]]; then
+  # check licences only if it is the requested task
+  autoreconf -i;
+  ./configure --enable-rdm-tests --enable-ja-rule;
+  # the following is a bit of a hack to build the files normally built during
+  # the build, so they are present for licence checking to run against
+  make builtfiles
+  ./scripts/enforce_licence.py
+  if [[ $? -ne 0 ]]; then
+    exit 1;
+  fi;
+elif [[ $TASK = 'doxygen' ]]; then
+  # check doxygen only if it is the requested task
+  autoreconf -i;
+  # Doxygen is C++ only, so don't bother with RDM tests
+  ./configure --enable-ja-rule;
+  # the following is a bit of a hack to build the files normally built during
+  # the build, so they are present for Doxygen to run against
+  make builtfiles
+  # count the number of warnings
+  warnings=$(make doxygen-doc 2>&1 >/dev/null | wc -l)
+  if [[ $warnings -ne 0 ]]; then
+    # print the output for info
+    make doxygen-doc
+    echo "Found $warnings doxygen warnings"
+    exit 1;
+  else
+    echo "Found $warnings doxygen warnings"
+  fi;
+elif [[ $TASK = 'coverage' ]]; then
+  # Compile with coverage for coveralls
+  autoreconf -i;
+  # Coverage is C++ only, so don't bother with RDM tests
+  ./configure --enable-gcov --enable-ja-rule;
+  make;
+  make check;
+elif [[ $TASK = 'coverity' ]]; then
+  # Run Coverity Scan unless token is zero length
+  # The Coverity Scan script also relies on a number of other COVERITY_SCAN_
+  # variables set in .travis.yml
+  if [[ ${#COVERITY_SCAN_TOKEN} -ne 0 ]]; then
+    curl -s $COVERITY_SCAN_BUILD_URL | bash
+  else
+    echo "Skipping Coverity Scan as no token found, probably a Pull Request"
+  fi;
+elif [[ $TASK = 'jshint' ]]; then
+  cd ./javascript/new-src;
+  npm install;
+  grunt test
+elif [[ $TASK = 'flake8' ]]; then
+  autoreconf -i;
+  ./configure --enable-rdm-tests
+  # the following is a bit of a hack to build the files normally built during
+  # the build, so they are present for flake8 to run against
+  make builtfiles
+  flake8 --max-line-length 80 --exclude *_pb2.py,.git,__pycache --ignore E111,E114,E121,E127,E129 data/rdm include/ola python scripts tools/ola_mon tools/rdm
+else
+  # Otherwise compile and check as normal
+  export DISTCHECK_CONFIGURE_FLAGS='--enable-rdm-tests --enable-ja-rule'
+  autoreconf -i;
+  ./configure $DISTCHECK_CONFIGURE_FLAGS;
+  make distcheck;
+  make dist;
+  tarball=$(ls -Ut ola*.tar.gz | head -1)
+  tar -zxf $tarball;
+  tarball_root=$(echo $tarball | sed 's/.tar.gz$//')
+  ./scripts/verify_trees.py ./ $tarball_root
+fi
--- /dev/null
+++ ola-0.10.3.nojsmin/.travis.yml
@@ -0,0 +1,190 @@
+language: cpp
+sudo: false
+script:
+ - "bash -ex .travis-ci.sh"
+
+addons:
+  apt:
+    packages: &base_build
+     # This is the absolute minimum for configure to pass
+     # Non C++ based tasks use it so they can run make builtfiles
+     - ccache
+     - libcppunit-dev
+     - bison
+     - flex
+     - uuid-dev
+     - libprotobuf-dev
+     - protobuf-compiler
+     - libprotoc-dev
+     - python-protobuf
+     - python-numpy
+    packages: &core_build
+     # This is all the bits we need to enable all options
+     - *base_build
+     - libftdi-dev
+     - libftdi1
+     - libusb-1.0-0-dev
+     - liblo-dev
+     - libavahi-glib1
+     - libncurses5-dev
+     - libmicrohttpd-dev
+    packages: &core_build_gpp_latest
+     - *core_build
+     - g++-5
+    packages: &core_build_clang_latest
+     - *core_build
+     - clang-3.8
+
+matrix:
+  fast_finish: true
+  include:
+    - os: osx
+      compiler: clang
+      env: TASK='compile'
+    - os: osx
+      compiler: gcc
+      env: TASK='compile'
+    - os: linux
+      compiler: clang
+      env: TASK='compile'
+      addons:
+        apt:
+          packages:
+           - *core_build_clang_latest
+          sources:
+           - ubuntu-toolchain-r-test
+           - llvm-toolchain-precise-3.8
+    - os: linux
+      compiler: gcc
+      env: TASK='compile'
+      addons:
+        apt:
+          packages:
+           - *core_build_gpp_latest
+          sources:
+           - ubuntu-toolchain-r-test
+    - os: linux
+      compiler: gcc
+      env: TASK='coverage'
+      addons:
+        apt:
+          packages:
+           - *core_build_gpp_latest
+          sources:
+           - ubuntu-toolchain-r-test
+    - os: linux
+      compiler: gcc
+      env: TASK='coverity'
+      addons:
+        apt:
+          packages:
+           # Coverity doesn't work with g++-5 yet
+           - *core_build
+           - g++-4.9
+          sources:
+           - ubuntu-toolchain-r-test
+    - os: linux
+      env: TASK='doxygen'
+      addons:
+        apt:
+          packages:
+           - *core_build_gpp_latest
+           - doxygen
+           - graphviz
+          sources:
+           - ubuntu-toolchain-r-test
+    - os: linux
+      env: TASK='lint'
+      addons:
+        apt:
+          packages:
+           - *core_build
+    - os: linux
+      env: TASK='check-licences'
+      addons:
+        apt:
+          packages:
+           - *core_build
+    - os: linux
+      env: TASK='jshint'
+      addons:
+        apt:
+          packages:
+    - os: linux
+      env: TASK='flake8'
+      addons:
+        apt:
+          packages:
+           - *base_build
+  allow_failures:
+    - os: linux
+      compiler: gcc
+      env: TASK='coverage'
+    - os: linux
+      compiler: gcc
+      env: TASK='coverity'
+
+env:
+  global:
+   # -- BEGIN Coverity Scan ENV
+   - COVERITY_SCAN_BUILD_COMMAND_PREPEND="cov-configure --comptype gcc --compiler gcc-4.9 && autoreconf -i && ./configure --enable-ja-rule"
+   # The build command with all of the arguments that you would apply to a manual `cov-build`
+   # Usually this is the same as STANDARD_BUILD_COMMAND, exluding the automated test arguments
+   - COVERITY_SCAN_BUILD_COMMAND="make"
+   # Name of the project
+   - COVERITY_SCAN_PROJECT_NAME="$TRAVIS_REPO_SLUG"
+   # Email address for notifications related to this build
+   - COVERITY_SCAN_NOTIFICATION_EMAIL="ola-coverity@pjnewman.co.uk"
+   # Regular expression selects on which branches to run analysis
+   # Be aware of quotas. Do not run on every branch/commit
+   - COVERITY_SCAN_BRANCH_PATTERN=".*"
+   # COVERITY_SCAN_TOKEN via "travis encrypt" using the repo's public key
+   - secure: "U+NmPtScHZ1NLmkDrzpqApHmJvELV44cXgjQsxA8N8xIATckbs+DrmWSNeECENyvuOPz+nPzglSgBvJtejf97jYJIIwAExq5TJMUAIPFS6KU3mohODW2PZSoVoUyJPzFIlhzcELQgONI+ILLm29lNdQNb7GFUVtO6+jS10AFtWY="
+   # -- END Coverity Scan ENV
+
+cache:
+  apt: true
+  directories:
+    - $HOME/.cache/pip # pip cache
+    - $HOME/.npm # npm cache
+    - $HOME/.ccache # ccache cache
+
+before_cache:
+  - rm -f $HOME/.cache/pip/log/debug.log # erase log
+  - ccache -s # see how many hits ccache got
+
+install:
+  - pip install --user protobuf==3.0.0
+  - if [ "$TASK" = "coverage" ]; then pip install --user cpp-coveralls; fi
+  - if [ "$TASK" = "flake8" ]; then pip install --user flake8; fi
+  - if [ "$TASK" = "jshint" ]; then npm install -g grunt-cli; fi
+
+before_install:
+ - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi
+#Fix a broken homebrew libtool install
+ - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew reinstall -s libtool; fi
+ - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install ccache cppunit bison flex protobuf-c libftdi libftdi0 libusb liblo libmicrohttpd; fi # ossp-uuid already present
+ - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mkdir -p ${HOME}/Library/Python/2.7/lib/python/site-packages; echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> ${HOME}/Library/Python/2.7/lib/python/site-packages/homebrew.pth; fi
+#Coverity doesn't work with g++ 5, so only upgrade to g++ 4.9 for that
+ - if [ "$TRAVIS_OS_NAME" == "linux" -a \( "$TASK" = "compile" -o "$TASK" = "coverage" -o "$TASK" = "doxygen" \) -a "$CXX" = "g++" ]; then export CXX="ccache g++-5" CC="ccache gcc-5"; fi
+ - if [ "$TASK" = "coverity" -a "$CXX" = "g++" ]; then export CXX="ccache g++-4.9" CC="ccache gcc-4.9"; fi
+#Use the latest clang if we're compiling with clang
+ - if [ "$TRAVIS_OS_NAME" == "linux" -a "$CXX" = "clang++" ]; then export CXX="clang++-3.8" CC="clang-3.8"; fi
+#Report the compiler version
+ - $CXX --version
+
+after_failure:
+  - cat ${TRAVIS_BUILD_DIR}/ola-*/_build/test-suite.log
+
+after_success:
+  - if [ "$TASK" = "coverage" ]; then coveralls --gcov /usr/bin/gcov-5 -b . -E '.*Test\.cpp$' -E '.*\.pb\.cc$' -E '.*\.pb\.cpp$' -E '.*\.pb\.h$' -E '.*\.yy\.cpp$' -E '.*\.tab\.cpp$' -E '.*\.tab\.h$' -E '.*/doxygen/examples.*$' --gcov-options '\-lp' > /dev/null; fi
+
+after_script:
+  - if [ "$TASK" = "coverity" ]; then tail -n 10000 ${TRAVIS_BUILD_DIR}/cov-int/build-log.txt; cat ${TRAVIS_BUILD_DIR}/cov-int/scm_log.txt; fi
+
+notifications:
+  irc:
+    channels:
+     - "chat.freenode.net#openlighting"
+    on_success: change
+    on_failure: change
--- /dev/null
+++ ola-0.10.3.nojsmin/common/LICENCE
@@ -0,0 +1,13 @@
+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; either
+version 2.1 of the License, or (at your option) any later version.
+
+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
--- /dev/null
+++ ola-0.10.3.nojsmin/examples/LICENCE
@@ -0,0 +1,13 @@
+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 2 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 Library General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
--- /dev/null
+++ ola-0.10.3.nojsmin/include/ola/LICENCE
@@ -0,0 +1,13 @@
+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; either
+version 2.1 of the License, or (at your option) any later version.
+
+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
--- /dev/null
+++ ola-0.10.3.nojsmin/include/ola/acn/LICENCE
@@ -0,0 +1,13 @@
+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 2 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 Library General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
--- /dev/null
+++ ola-0.10.3.nojsmin/include/ola/e133/LICENCE
@@ -0,0 +1,13 @@
+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 2 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 Library General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
--- /dev/null
+++ ola-0.10.3.nojsmin/include/olad/LICENCE
@@ -0,0 +1,13 @@
+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 2 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 Library General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
--- /dev/null
+++ ola-0.10.3.nojsmin/javascript/new-src/LICENCE
@@ -0,0 +1,13 @@
+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 2 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 Library General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
\ No newline at end of file
--- /dev/null
+++ ola-0.10.3.nojsmin/javascript/ola/LICENCE
@@ -0,0 +1,13 @@
+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 2 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 Library General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
--- /dev/null
+++ ola-0.10.3.nojsmin/libs/LICENCE
@@ -0,0 +1,13 @@
+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 2 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 Library General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
--- /dev/null
+++ ola-0.10.3.nojsmin/man/generate-html.sh
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+if [ $# != 1 ]; then
+  echo "Usage: $0 <output_dir>"
+  exit 1;
+fi
+
+output_dir=$1
+if [ ! -d $output_dir ]; then
+  echo $output_dir is not a directory
+  exit 1;
+fi
+
+index_file=$output_dir/index.html;
+
+echo "Output dir: $output_dir";
+echo "Index file: $index_file";
+
+cat << 'EOF' > $index_file
+<html>
+<head>
+<title>Man pages for the Open Lighting Architecture</title>
+</head>
+<body>
+<h1>Man pages for the <a href="https://openlighting.org/ola/">Open Lighting Architecture</a></h1>
+<ul>
+EOF
+
+if [ ! -d $output_dir/man1/ ]; then
+  echo $output_dir/man1/ doesn\'t exist, please create it
+  exit 1;
+fi
+for man_file in *.1; do
+  echo "Generating $man_file";
+  output_file=$output_dir/man1/$man_file.html;
+  man2html -r $man_file -M ../index.html | sed 1,2d > $output_file;
+  chmod a+r $output_file;
+  echo "<li><a href='./man1/$man_file.html'>$man_file</a></li>" >> $index_file
+done
+
+cat << 'EOF' >> $index_file
+</ul>
+</body>
+</html>
+EOF
--- /dev/null
+++ ola-0.10.3.nojsmin/ola/LICENCE
@@ -0,0 +1,13 @@
+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; either
+version 2.1 of the License, or (at your option) any later version.
+
+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
--- /dev/null
+++ ola-0.10.3.nojsmin/olad/LICENCE
@@ -0,0 +1,13 @@
+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 2 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 Library General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
--- /dev/null
+++ ola-0.10.3.nojsmin/plugins/LICENCE
@@ -0,0 +1,13 @@
+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 2 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 Library General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
--- /dev/null
+++ ola-0.10.3.nojsmin/plugins/kinet/kinet.cpp
@@ -0,0 +1,308 @@
+/*
+ * 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 2 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 Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * kinet.cpp
+ * Scratch pad for Kinet work
+ * Copyright (C) 2010 Simon Newton
+ */
+
+#include <ola/Callback.h>
+#include <ola/Logging.h>
+#include <ola/network/NetworkUtils.h>
+#include <ola/network/SelectServer.h>
+#include <ola/network/Socket.h>
+
+#include <iostream>
+#include <string>
+
+using std::cout;
+using std::endl;
+using std::string;
+using ola::network::SelectServer;
+using ola::network::UDPSocket;
+using ola::network::LittleEndianToHost;
+
+
+/*
+ * The KiNet protocol appears to be little-endian. We write the constants as
+ * they appear to a human and convert back and forth.
+ */
+
+// All packets seem to start with this number
+const uint32_t KINET_MAGIC = 0x4adc0104;
+// We haven't seen a non V1 protocol in the wild yet.
+const uint16_t KINET_VERSION = 0x0001;
+// No idea what this is, but we should send a poll reply when we see it
+const uint32_t KINET_DISCOVERY_COMMAND = 0x8988870a;
+
+// KiNet packet types
+typedef enum {
+  KINET_POLL = 0x0001,
+  KINET_POLL_REPLY = 0x0002,
+  KINET_SET_IP = 0x0003,
+  KINET_SET_UNIVERSE = 0x0005,
+  KINET_SET_NAME = 0x0006,
+  // KINET_?? = 0x000a;
+  KINET_DMX = 0x0101,
+  // KINET_PORTOUT = 0x0108;  // portout
+  // KINET_PORTOUT_SYNC = 0x0109;  // portout_sync
+  // KINET_?? = 0x0201;  // seems to be a discovery packet
+  // KINET_?? = 0x0203;  // get dmx address?
+} kinet_packet_type;
+
+
+/**
+ * The KiNet header
+ */
+PACK(
+struct kinet_header {
+  uint32_t magic;
+  uint16_t version;
+  uint16_t type;  // see kinet_packet_type above
+  uint32_t padding;  // always set to 0, seq #,
+                     // most of the time it's 0,
+                     // not implemented in most supplies
+});
+
+
+// A KiNet poll message
+PACK(
+struct kinet_poll {
+  uint32_t command;  // ??, Seems to always be KINET_DISCOVERY_COMMAND
+});
+
+
+// A KiNet poll reply message
+PACK(
+struct kinet_poll_reply {
+  uint32_t src_ip;
+  uint8_t hw_address[6];  // mac address
+  uint8_t  data[2];  // This contains non-0 data
+  uint32_t serial;  // The node serial #
+  uint32_t zero;
+  uint8_t node_name[60];
+  uint8_t node_label[31];
+  uint16_t zero2;
+});
+
+
+// A KiNet Set IP Command.
+// TODO(simon): Check what ip,mac dst this packet is sent to.
+PACK(
+struct kinet_set_ip {
+  uint32_t something;  // ef be ad de
+  uint8_t hw_address[6];  // The MAC address to match
+  uint16_t something2;  // 05 67
+  uint32_t new_ip;
+});
+
+
+// A KiNet Set Universe Command
+PACK(
+struct kinet_set_universe {
+  uint32_t something;  // ef be ad de
+  uint8_t universe;
+  uint8_t zero[3];
+});
+
+
+// A KiNet Set Name Command
+PACK(
+struct kinet_set_name {
+  uint32_t something;  // ef be ad de
+  uint8_t new_name[31];  // Null terminated.
+});
+
+
+// A KiNet Get Address command
+PACK(
+struct kinet_get_address {
+  uint32_t serial;
+  uint32_t something;  // 41 00 12 00
+});
+
+
+// A KiNet DMX packet
+PACK(
+struct kinet_dmx {
+  uint8_t port;  // should be set to 0 for v1
+  uint8_t flags;  // set to 0
+  uint16_t timerVal;  // set to 0
+  uint32_t universe;
+  uint8_t paylod[513];  // payload inc start code
+});
+
+
+struct kinet_port_out_flags {
+  uint16_t flags;
+    // little endian
+    // first bit is undefined  0:1;
+    // second bit is for 16 bit data, set to 0  :1;
+    // third is shall hold for sync packet :: 1;
+};
+
+
+struct kinet_port_out_sync {
+  uint32_t padding;
+}
+
+// A KiNet DMX port out packet
+PACK(
+struct kinet_port_out {
+  uint32_t universe;
+  uint8_t port;        // 1- 16
+  uint8_t pad;         // set to 0
+  portoutflags flags;
+  uint16_t length;     // little endian
+  uint16_t startCode;  // 0x0fff for chomASIC products, 0x0000 otherwise
+  uint8_t payload[512];
+});
+
+
+// The full kinet packet
+struct kinet_packet {
+  struct kinet_header header;
+  union {
+    struct kinet_poll poll;
+    struct kinet_poll_reply poll_reply;
+  } data;
+};
+
+
+uint8_t peer0_0[] = {
+  0x04, 0x01, 0xdc, 0x4a,  // magic number
+  0x01, 0x00,  // version #
+  0x02, 0x00,  // packet type (poll reply)
+  0x00, 0x00, 0x00, 0x00,  // sequence
+  0x0a, 0x00, 0x00, 0x01,  // 192.168.1.207
+  0x00, 0x0a, 0xc5, 0xff, 0xae, 0x01,  // mac address
+  0x01, 0x00,
+  0xff, 0xff, 0x00, 0x2d,  // serial #
+  0x00, 0x00, 0x00, 0x00,  // padding
+  // What follows is ascii text, with fields separated by new lines. Each field
+  // is in the form /[MD#R]:.*/
+  // It's unclear is this is a variable length field or not.
+  0x4d, 0x3a,  // M:
+  0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x4b, 0x69, 0x6e, 0x65, 0x74, 0x69, 0x63,
+  0x73, 0x20, 0x49, 0x6e, 0x63, 0x6f, 0x72, 0x70, 0x6f, 0x72, 0x61, 0x74, 0x65,
+  0x64,  // Color Kinetics cs Incorporated
+  0x0a,  // \n
+  0x44, 0x3a,  // D:
+  0x50, 0x44, 0x53, 0x2d, 0x65,  // PDS-e
+  0x0a,  // \n
+  0x23, 0x3a,  // #:
+  0x53, 0x46, 0x54, 0x2d, 0x30, 0x30, 0x30, 0x30, 0x36, 0x36, 0x2d, 0x30, 0x30,
+  0x0a,  // SFT-000066-00
+  0x52, 0x3a,  // R:
+  0x30, 0x30,  // 00
+  0x0a,  // \n
+  0x00,
+  // offset 92
+  0x64, 0x73, 0x2d, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x2d, 0x72, 0x65, 0x61, 0x72,
+  0x00,  // device name?
+  0x00, 0x95, 0x8c, 0xc7, 0xb6, 0x00,
+  0x00,
+  0xff, 0x00, 0x00,
+  0xff, 0x00, 0x00,
+  0xff, 0x00, 0x00,
+  0xff, 0x00, 0x00 };
+
+
+SelectServer ss;
+UDPSocket udp_socket;
+
+/**
+ * Check if a packet is valid KiNet
+ */
+bool IsKiNet(const kinet_packet *packet, unsigned int size) {
+  return (size > sizeof(struct kinet_header) &&
+          KINET_MAGIC == LittleEndianToHost(packet->header.magic) &&
+          KINET_VERSION == LittleEndianToHost(packet->header.version));
+}
+
+
+/**
+ * Handle a KiNet poll packet
+ */
+void HandlePoll(const struct sockaddr_in &source,
+                const kinet_packet &packet,
+                unsigned int size) {
+  ssize_t r = udp_socket.SendTo(peer0_0, sizeof(peer0_0), source);
+  OLA_INFO << "sent " << r << " bytes";
+}
+
+
+/**
+ * Handle a KiNet DMX packet
+ */
+void HandleDmx(const struct sockaddr_in &source,
+               const kinet_packet &packet,
+               unsigned int size) {
+}
+
+
+void SocketReady() {
+  kinet_packet packet;
+  ssize_t data_read = sizeof(packet);
+  struct sockaddr_in source;
+  socklen_t src_size = sizeof(source);
+
+  udp_socket.RecvFrom(reinterpret_cast<uint8_t*>(&packet),
+                      &data_read,
+                      source,
+                      src_size);
+  if (IsKiNet(&packet, data_read)) {
+    uint16_t command = LittleEndianToHost(packet.header.type);
+    switch (command) {
+      case KINET_POLL:
+        HandlePoll(source, packet, data_read);
+        break;
+      case KINET_DMX:
+        HandleDmx(source, packet, data_read);
+        break;
+      default:
+        OLA_WARN << "Unknown packet 0x" << std::hex << command;
+    }
+  } else {
+    OLA_WARN << "Not a KiNet packet";
+  }
+}
+
+
+/*
+ * Main
+ */
+int main(int argc, char *argv[]) {
+  ola::InitLogging(ola::OLA_LOG_INFO, ola::OLA_LOG_STDERR);
+
+  udp_socket.SetOnData(ola::NewCallback(&SocketReady));
+  if (!udp_socket.Init()) {
+    OLA_WARN << "Failed to init";
+    return 1;
+  }
+  if (!udp_socket.Bind(6038)) {
+    OLA_WARN << "Failed to bind";
+    return 1;
+  }
+  if (!udp_socket.EnableBroadcast()) {
+    OLA_WARN << "Failed to enabl bcast";
+    return 1;
+  }
+
+  ss.AddSocket(&udp_socket);
+
+  ss.Run();
+  return 0;
+}
--- /dev/null
+++ ola-0.10.3.nojsmin/python/examples/LICENCE
@@ -0,0 +1,13 @@
+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 2 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 Library General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
--- /dev/null
+++ ola-0.10.3.nojsmin/python/ola/LICENCE
@@ -0,0 +1,13 @@
+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; either
+version 2.1 of the License, or (at your option) any later version.
+
+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
--- /dev/null
+++ ola-0.10.3.nojsmin/scripts/enforce_licence.py
@@ -0,0 +1,328 @@
+#!/usr/bin/python
+#  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 2 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 Library General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with this program; if not, write to the Free Software
+#  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# enforce_licence.py
+# Copyright (C) 2013 Simon Newton
+
+import difflib
+import getopt
+import glob
+import os
+import pprint
+import re
+import sys
+import textwrap
+
+CPP, JS, PROTOBUF, PYTHON = xrange(4)
+
+IGNORED_DIRECTORIES = [
+  'javascript/new-src/node_modules/',
+]
+
+IGNORED_FILES = [
+  'common/rdm/testdata/duplicate_manufacturer.proto',
+  'common/rdm/testdata/duplicate_pid_name.proto',
+  'common/rdm/testdata/duplicate_pid_value.proto',
+  'common/rdm/testdata/inconsistent_pid.proto',
+  'common/rdm/testdata/invalid_esta_pid.proto',
+  'common/rdm/testdata/test_pids.proto',
+  'common/rdm/testdata/pids/overrides.proto',
+  'common/rdm/testdata/pids/pids1.proto',
+  'common/rdm/testdata/pids/pids2.proto',
+  'examples/ola-dmxconsole.cpp',
+  'examples/ola-dmxmonitor.cpp',
+  'include/ola/gen_callbacks.py',
+  'olad/www/mobile.js',
+  'olad/www/ola.js',
+  'javascript/new-src/Gruntfile.js',
+  'olad/www/new/js/app.min.js',
+  'olad/www/new/js/app.min.js.map',
+  'python/ola/PidStoreLocation.py',
+  'python/ola/Version.py',
+  'tools/ola_trigger/config.tab.cpp',
+  'tools/ola_trigger/config.tab.h',
+  'tools/ola_trigger/lex.yy.cpp',
+  'tools/rdm/DataLocation.py',
+  'tools/rdm/static/ui.multiselect.js',
+]
+
+
+def Usage(arg0):
+  print textwrap.dedent("""\
+  Usage: %s
+
+  Walk the directory tree from the current directory, and make sure all .cpp,
+  .h, .js, .proto and .py files have the appropriate Licence. The licence is
+  determined from the LICENCE file in each branch of the directory tree.
+
+    --diff               Print the diffs.
+    --fix                Fix the files.
+    --help               Display this message.""" % arg0)
+
+
+def ParseArgs():
+  """Extract the options."""
+  try:
+    opts, args = getopt.getopt(sys.argv[1:], '',
+                               ['diff', 'fix', 'help'])
+  except getopt.GetoptError, err:
+    print str(err)
+    Usage(sys.argv[0])
+    sys.exit(2)
+
+  help = False
+  fix = False
+  diff = False
+  for o, a in opts:
+    if o in ('--diff'):
+      diff = True
+    elif o in ('--fix'):
+      fix = True
+    elif o in ('-h', '--help'):
+      Usage(sys.argv[0])
+      sys.exit()
+
+  if help:
+    Usage(sys.argv[0])
+    sys.exit(0)
+  return diff, fix
+
+
+def IgnoreFile(file_name):
+  for ignored_dir in IGNORED_DIRECTORIES:
+    if file_name.rfind(ignored_dir) != -1:
+      return True
+  for ignored_file in IGNORED_FILES:
+    if file_name.endswith(ignored_file):
+      return True
+  return False
+
+
+def TransformCppLine(line):
+  """Transform a line to within a C++ multiline style comment"""
+  line = line.strip()
+  if line:
+    return ' * %s' % line
+  else:
+    return ' *'
+
+
+def TransformLicence(licence):
+  """Wrap a licence in C++ style comments"""
+  output = []
+  output.append('/*')
+  output.extend(map(TransformCppLine, licence))
+  output.append(TransformCppLine(''))
+  return '\n'.join(output)
+
+
+def TransformJsLine(line):
+  """Transform a line to within a JS multiline style comment"""
+  return TransformCppLine(line)
+
+
+def TransformCppToJsLicence(licence):
+  """Change a C++ licence to JS style"""
+  lines = licence.split('\n')
+  output = []
+  output.append('/**')
+  for l in lines[1:]:
+    output.append(TransformJsLine(l[2:]))
+  return '\n'.join(output)
+
+
+def TransformPythonLine(line):
+  """Transform a line to within a Python multiline style comment"""
+  line = line.strip()
+  if line:
+    return '# %s' % line
+  else:
+    return '#'
+
+
+def TransformCppToPythonLicence(licence):
+  """Change a C++ licence to Python style"""
+  lines = licence.split('\n')
+  output = []
+  for l in lines[1:]:
+    output.append(TransformPythonLine(l[3:]))
+  return '\n'.join(output)
+
+
+def TransformLine(line, lang):
+  if lang == CPP or lang == PROTOBUF:
+    return TransformCppLine(line)
+  elif lang == JS:
+    return TransformJsLine(line)
+  elif lang == PYTHON:
+    return TransformPythonLine(line)
+  else:
+    return line
+
+
+def ReplaceHeader(file_name, new_header, lang):
+  f = open(file_name)
+  breaks = 0
+  line = f.readline()
+  while line != '':
+    if (lang == CPP or lang == JS or lang == PROTOBUF) and \
+       re.match(r'^ \*\s*\n$', line):
+      breaks += 1
+    if lang == PYTHON and re.match(r'^#\s*\n$', line):
+      breaks += 1
+    if breaks == 3:
+      break
+    line = f.readline()
+
+  if breaks < 3:
+    print "Couldn't find header for %s so couldn't fix it" % file_name
+    f.close()
+    return
+
+  remainder = f.read()
+  f.close()
+
+  f = open(file_name, 'w')
+  f.write(new_header)
+  f.write('\n')
+  f.write(remainder)
+  f.close()
+
+
+def GetDirectoryLicences(root_dir):
+  """Walk the directory tree and determine the licence for each directory."""
+  LICENCE_FILE = 'LICENCE'
+  licences = {}
+
+  for dir_name, subdirs, files in os.walk(root_dir):
+    # skip the root_dir since the licence file is different there
+    if dir_name == root_dir:
+      continue
+
+    # skip ignored dirs since we don't check them anyways
+    skip = False
+    for ignored_dir in IGNORED_DIRECTORIES:
+      if dir_name.rfind(ignored_dir) != -1:
+        skip = True
+
+    if skip:
+      continue
+
+    # don't descend into hidden dirs like .libs and .deps
+    subdirs[:] = [d for d in subdirs if not d.startswith('.')]
+
+    if LICENCE_FILE in files:
+      f = open(os.path.join(dir_name, LICENCE_FILE))
+      lines = f.readlines()
+      f.close()
+      licences[dir_name] = TransformLicence(lines)
+      print 'Found LICENCE for directory %s' % dir_name
+
+    # use this licence for all subdirs
+    licence = licences.get(dir_name)
+    if licence is not None:
+      for sub_dir in subdirs:
+        licences[os.path.join(dir_name, sub_dir)] = licence
+  return licences
+
+
+def CheckLicenceForDir(dir_name, licence, diff, fix):
+  """Check all files in a directory contain the correct licence."""
+  errors = 0
+  # glob doesn't support { } so we iterate instead
+  for match in ['*.h', '*.cpp']:
+    for file_name in glob.glob(os.path.join(dir_name, match)):
+      # skip the generated protobuf code
+      if '.pb.' in file_name:
+        continue
+      errors += CheckLicenceForFile(file_name, licence, CPP, diff, fix)
+
+  js_licence = TransformCppToJsLicence(licence)
+  for file_name in glob.glob(os.path.join(dir_name, '*.js')):
+    errors += CheckLicenceForFile(file_name, js_licence, JS, diff, fix)
+
+  for file_name in glob.glob(os.path.join(dir_name, '*.proto')):
+    errors += CheckLicenceForFile(file_name, licence, PROTOBUF, diff, fix)
+
+  python_licence = TransformCppToPythonLicence(licence)
+  for file_name in glob.glob(os.path.join(dir_name, '*.py')):
+    # skip the generated protobuf code
+    if file_name.endswith('__init__.py') or file_name.endswith('pb2.py'):
+      continue
+    errors += CheckLicenceForFile(file_name, python_licence, PYTHON, diff, fix)
+
+  return errors
+
+
+def CheckLicenceForFile(file_name, licence, lang, diff, fix):
+  """Check a file contains the correct licence."""
+  if IgnoreFile(file_name):
+    return 0
+
+  f = open(file_name)
+  # + 1 to include the newline to have a complete line
+  header_size = len(licence) + 1
+  first_line = None
+  if lang == PYTHON:
+    first_line = f.readline()
+    if not first_line.startswith('#!') and not first_line.startswith('# !'):
+      # First line isn't a shebang, ignore it.
+      f.seek(0, os.SEEK_SET)
+      first_line = None
+  # strip the trailing newline off as we don't actually want it
+  header = f.read(header_size).rstrip('\n')
+  file_name_line = f.readline()
+  f.close()
+  if header == licence:
+    expected_line = TransformLine(os.path.basename(file_name), lang)
+    if lang != JS and file_name_line.rstrip('\n') != expected_line:
+      print ("File %s does not have a filename line after the licence; found "
+             "\"%s\" expected \"%s\"" %
+             (file_name, file_name_line.rstrip('\n'), expected_line))
+      return 1
+    return 0
+
+  if fix:
+    print 'Fixing %s' % file_name
+    if lang == PYTHON and first_line is not None:
+      licence = first_line + licence
+    ReplaceHeader(file_name, licence, lang)
+    return 1
+  else:
+    print "File %s does not start with \"%s...\"" % (
+        file_name,
+        licence.split('\n')[(0 if (lang == PYTHON) else 1)])
+    if diff:
+      d = difflib.Differ()
+      result = list(d.compare(header.splitlines(1), licence.splitlines(1)))
+      pprint.pprint(result)
+    return 1
+
+
+def main():
+  diff, fix = ParseArgs()
+  licences = GetDirectoryLicences(os.getcwd())
+  errors = 0
+  for dir_name, licence in licences.iteritems():
+    errors += CheckLicenceForDir(dir_name, licence, diff=diff, fix=fix)
+  print 'Found %d files with incorrect licences' % errors
+  if errors > 0:
+    sys.exit(1)
+  else:
+    sys.exit()
+
+
+if __name__ == '__main__':
+  main()
--- /dev/null
+++ ola-0.10.3.nojsmin/scripts/verify_trees.py
@@ -0,0 +1,129 @@
+#!/usr/bin/python
+# 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 2 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 Library General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# verify_trees.py
+# Copyright (C) 2015 Simon Newton
+
+from __future__ import print_function
+
+import os
+import fnmatch
+import textwrap
+import sys
+
+# File & directory patterns that differ between what's in the git repo and
+# what's in the tarball.
+IGNORE_PATTERNS = [
+  '*.log',
+  '*.pc',
+  '*.swp',
+  '*.trs',
+  '*/.deps',
+  '*/.dirstamp',
+  '*/.libs',
+  '*/LICENCE',
+  '*/Makefile',
+  '*_pb2.py',
+  '*~',
+  '.git',
+  '.git/*',
+  '.gitignore',
+  '.travis-ci.sh',
+  '.travis.yml',
+  'Doxyfile',
+  'Makefile',
+  'README.md',
+  'autom4te.cache',
+  'config.h',
+  'config.status',
+  'html/*',
+  'include/ola/base/Version.h',
+  'libtool',
+  'man/generate-html.sh',
+  'ola-*.tar.gz',
+  'ola-*/*',
+  'plugins/kinet/kinet.cpp',
+  'python/ola/PidStoreLocation.py',
+  'python/ola/Version.py',
+  'scripts/*',
+  'stamp-h1',
+  'tools/rdm/DataLocation.py',
+]
+
+
+def Usage(arg0):
+  print (textwrap.dedent("""\
+  Usage: %s <treeA> <treeB>
+
+  Check for files that exist in treeA but aren't in treeB. This can be used to
+  ensure we don't miss files from the tarball.""" % arg0))
+
+
+def ShouldIgnore(path):
+  for pattern in IGNORE_PATTERNS:
+    if fnmatch.fnmatch(path, pattern):
+      return True
+  return False
+
+
+def BuildTree(root):
+  tree = set()
+  for directory, sub_dirs, files in os.walk(root):
+    rel_dir = os.path.relpath(directory, root)
+    if rel_dir == '.':
+      rel_dir = ''
+    if ShouldIgnore(rel_dir):
+      continue
+    for f in files:
+      path = os.path.join(rel_dir, f)
+      if not ShouldIgnore(path):
+        tree.add(path)
+
+  return tree
+
+
+def main():
+  if len(sys.argv) != 3:
+    Usage(sys.argv[0])
+    sys.exit(1)
+
+  tree_a_root = sys.argv[1]
+  tree_b_root = sys.argv[2]
+  for tree in (tree_a_root, tree_b_root):
+    if not os.path.isdir(tree):
+      print('Not a directory `%s`' % tree, file=sys.stderr)
+      sys.exit(2)
+
+  tree_a = BuildTree(tree_a_root)
+  tree_b = BuildTree(tree_b_root)
+
+  difference = tree_a.difference(tree_b)
+
+  if difference:
+    for file_path in difference:
+      print('Missing from tarball %s' % file_path, file=sys.stderr)
+
+    print('\n---------------------------------------', file=sys.stderr)
+    print('Either add the missing files to the appropriate Makefile.mk\n'
+          'or update IGNORE_PATTERNS in scripts/verify_trees.py',
+          file=sys.stderr)
+    print('---------------------------------------', file=sys.stderr)
+    sys.exit(1)
+
+  sys.exit()
+
+
+if __name__ == '__main__':
+  main()
--- /dev/null
+++ ola-0.10.3.nojsmin/tools/e133/LICENCE
@@ -0,0 +1,13 @@
+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 2 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 Library General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
--- /dev/null
+++ ola-0.10.3.nojsmin/tools/logic/LICENCE
@@ -0,0 +1,13 @@
+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 2 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 Library General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
--- /dev/null
+++ ola-0.10.3.nojsmin/tools/ola_mon/LICENCE
@@ -0,0 +1,13 @@
+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 2 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 Library General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
--- /dev/null
+++ ola-0.10.3.nojsmin/tools/ola_trigger/LICENCE
@@ -0,0 +1,13 @@
+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 2 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 Library General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
--- /dev/null
+++ ola-0.10.3.nojsmin/tools/rdm/LICENCE
@@ -0,0 +1,13 @@
+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 2 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 Library General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
--- /dev/null
+++ ola-0.10.3.nojsmin/tools/rdmpro/LICENCE
@@ -0,0 +1,13 @@
+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 2 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 Library General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
--- /dev/null
+++ ola-0.10.3.nojsmin/tools/usbpro/LICENCE
@@ -0,0 +1,13 @@
+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 2 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 Library General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
--- ola-0.10.3.nojsmin.orig/Makefile.in
+++ ola-0.10.3.nojsmin/Makefile.in
@@ -547,10 +547,8 @@ DIST_COMMON = $(srcdir)/Makefile.am $(to
 	$(am__dist_rdmtestsexec_SCRIPTS_DIST) \
 	$(am__pkgpython_PYTHON_DIST) $(am__rdminit_PYTHON_DIST) \
 	$(am__rdmtests_PYTHON_DIST) $(am__rpcpython_PYTHON_DIST) \
-	$(dist_angular_DATA) $(dist_angularroute_DATA) \
-	$(dist_bootcss_DATA) $(dist_bootfonts_DATA) \
-	$(dist_bootjs_DATA) $(dist_css_DATA) $(dist_img_DATA) \
-	$(dist_jquery_DATA) $(dist_js_DATA) $(dist_new_DATA) \
+	$(dist_bootcss_DATA) $(dist_bootfonts_DATA) $(dist_css_DATA) \
+	$(dist_img_DATA) $(dist_js_DATA) $(dist_new_DATA) \
 	$(dist_noinst_DATA) $(dist_piddata_DATA) \
 	$(am__dist_tools_rdm_testserver_images_DATA_DIST) \
 	$(am__dist_tools_rdm_testserver_static_DATA_DIST) \
@@ -613,11 +611,9 @@ am__installdirs = "$(DESTDIR)$(libdir)"
 	"$(DESTDIR)$(rdmtestsdir)" "$(DESTDIR)$(rpcpythondir)" \
 	"$(DESTDIR)$(pkgpythondir)" "$(DESTDIR)$(rdminitdir)" \
 	"$(DESTDIR)$(rdmtestsdir)" "$(DESTDIR)$(rpcpythondir)" \
-	"$(DESTDIR)$(man1dir)" "$(DESTDIR)$(angulardir)" \
-	"$(DESTDIR)$(angularroutedir)" "$(DESTDIR)$(bootcssdir)" \
-	"$(DESTDIR)$(bootfontsdir)" "$(DESTDIR)$(bootjsdir)" \
-	"$(DESTDIR)$(cssdir)" "$(DESTDIR)$(imgdir)" \
-	"$(DESTDIR)$(jquerydir)" "$(DESTDIR)$(jsdir)" \
+	"$(DESTDIR)$(man1dir)" "$(DESTDIR)$(bootcssdir)" \
+	"$(DESTDIR)$(bootfontsdir)" "$(DESTDIR)$(cssdir)" \
+	"$(DESTDIR)$(imgdir)" "$(DESTDIR)$(jsdir)" \
 	"$(DESTDIR)$(newdir)" "$(DESTDIR)$(piddatadir)" \
 	"$(DESTDIR)$(tools_rdm_testserver_imagesdir)" \
 	"$(DESTDIR)$(tools_rdm_testserver_staticdir)" \
@@ -3583,16 +3579,12 @@ am__dist_tools_rdm_testserver_images_DAT
 	tools/rdm/static/images/ui-icons_fbc856_256x240.png
 am__dist_tools_rdm_testserver_static_DATA_DIST =  \
 	tools/rdm/static/MIT-LICENSE.txt tools/rdm/static/common.css \
-	tools/rdm/static/jquery-1.7.2.min.js \
 	tools/rdm/static/jquery-ui-1.8.21.custom.css \
-	tools/rdm/static/jquery-ui-1.8.21.custom.min.js \
 	tools/rdm/static/rdm_tests.js tools/rdm/static/rdmtests.html \
 	tools/rdm/static/ui.multiselect.css \
 	tools/rdm/static/ui.multiselect.js
-DATA = $(dist_angular_DATA) $(dist_angularroute_DATA) \
-	$(dist_bootcss_DATA) $(dist_bootfonts_DATA) \
-	$(dist_bootjs_DATA) $(dist_css_DATA) $(dist_img_DATA) \
-	$(dist_jquery_DATA) $(dist_js_DATA) $(dist_new_DATA) \
+DATA = $(dist_bootcss_DATA) $(dist_bootfonts_DATA) $(dist_css_DATA) \
+	$(dist_img_DATA) $(dist_js_DATA) $(dist_new_DATA) \
 	$(dist_noinst_DATA) $(dist_piddata_DATA) \
 	$(dist_tools_rdm_testserver_images_DATA) \
 	$(dist_tools_rdm_testserver_static_DATA) $(dist_views_DATA) \
@@ -4182,6 +4174,7 @@ program_transform_name = @program_transf
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -6401,18 +6394,6 @@ dist_img_DATA = \
     olad/www/new/img/logo-mini.png \
     olad/www/new/img/logo.png
 
-dist_jquery_DATA = \
-    olad/www/new/libs/jquery/js/jquery.min.js
-
-dist_angularroute_DATA = \
-    olad/www/new/libs/angular-route/js/angular-route.min.js
-
-dist_angular_DATA = \
-    olad/www/new/libs/angular/js/angular.min.js
-
-dist_bootjs_DATA = \
-    olad/www/new/libs/bootstrap/js/bootstrap.min.js
-
 dist_bootfonts_DATA = \
     olad/www/new/libs/bootstrap/fonts/glyphicons-halflings-regular.eot \
     olad/www/new/libs/bootstrap/fonts/glyphicons-halflings-regular.svg \
@@ -6614,9 +6595,7 @@ module_files = \
 testserver_static_files = \
     tools/rdm/static/MIT-LICENSE.txt \
     tools/rdm/static/common.css \
-    tools/rdm/static/jquery-1.7.2.min.js \
     tools/rdm/static/jquery-ui-1.8.21.custom.css \
-    tools/rdm/static/jquery-ui-1.8.21.custom.min.js \
     tools/rdm/static/rdm_tests.js \
     tools/rdm/static/rdmtests.html \
     tools/rdm/static/ui.multiselect.css \
@@ -14480,48 +14459,6 @@ uninstall-man1:
 	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
 	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
 	dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
-install-dist_angularDATA: $(dist_angular_DATA)
-	@$(NORMAL_INSTALL)
-	@list='$(dist_angular_DATA)'; test -n "$(angulardir)" || list=; \
-	if test -n "$$list"; then \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(angulardir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(angulardir)" || exit 1; \
-	fi; \
-	for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  echo "$$d$$p"; \
-	done | $(am__base_list) | \
-	while read files; do \
-	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(angulardir)'"; \
-	  $(INSTALL_DATA) $$files "$(DESTDIR)$(angulardir)" || exit $$?; \
-	done
-
-uninstall-dist_angularDATA:
-	@$(NORMAL_UNINSTALL)
-	@list='$(dist_angular_DATA)'; test -n "$(angulardir)" || list=; \
-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	dir='$(DESTDIR)$(angulardir)'; $(am__uninstall_files_from_dir)
-install-dist_angularrouteDATA: $(dist_angularroute_DATA)
-	@$(NORMAL_INSTALL)
-	@list='$(dist_angularroute_DATA)'; test -n "$(angularroutedir)" || list=; \
-	if test -n "$$list"; then \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(angularroutedir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(angularroutedir)" || exit 1; \
-	fi; \
-	for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  echo "$$d$$p"; \
-	done | $(am__base_list) | \
-	while read files; do \
-	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(angularroutedir)'"; \
-	  $(INSTALL_DATA) $$files "$(DESTDIR)$(angularroutedir)" || exit $$?; \
-	done
-
-uninstall-dist_angularrouteDATA:
-	@$(NORMAL_UNINSTALL)
-	@list='$(dist_angularroute_DATA)'; test -n "$(angularroutedir)" || list=; \
-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	dir='$(DESTDIR)$(angularroutedir)'; $(am__uninstall_files_from_dir)
 install-dist_bootcssDATA: $(dist_bootcss_DATA)
 	@$(NORMAL_INSTALL)
 	@list='$(dist_bootcss_DATA)'; test -n "$(bootcssdir)" || list=; \
@@ -14564,27 +14501,6 @@ uninstall-dist_bootfontsDATA:
 	@list='$(dist_bootfonts_DATA)'; test -n "$(bootfontsdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
 	dir='$(DESTDIR)$(bootfontsdir)'; $(am__uninstall_files_from_dir)
-install-dist_bootjsDATA: $(dist_bootjs_DATA)
-	@$(NORMAL_INSTALL)
-	@list='$(dist_bootjs_DATA)'; test -n "$(bootjsdir)" || list=; \
-	if test -n "$$list"; then \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(bootjsdir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(bootjsdir)" || exit 1; \
-	fi; \
-	for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  echo "$$d$$p"; \
-	done | $(am__base_list) | \
-	while read files; do \
-	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(bootjsdir)'"; \
-	  $(INSTALL_DATA) $$files "$(DESTDIR)$(bootjsdir)" || exit $$?; \
-	done
-
-uninstall-dist_bootjsDATA:
-	@$(NORMAL_UNINSTALL)
-	@list='$(dist_bootjs_DATA)'; test -n "$(bootjsdir)" || list=; \
-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	dir='$(DESTDIR)$(bootjsdir)'; $(am__uninstall_files_from_dir)
 install-dist_cssDATA: $(dist_css_DATA)
 	@$(NORMAL_INSTALL)
 	@list='$(dist_css_DATA)'; test -n "$(cssdir)" || list=; \
@@ -14627,27 +14543,6 @@ uninstall-dist_imgDATA:
 	@list='$(dist_img_DATA)'; test -n "$(imgdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
 	dir='$(DESTDIR)$(imgdir)'; $(am__uninstall_files_from_dir)
-install-dist_jqueryDATA: $(dist_jquery_DATA)
-	@$(NORMAL_INSTALL)
-	@list='$(dist_jquery_DATA)'; test -n "$(jquerydir)" || list=; \
-	if test -n "$$list"; then \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(jquerydir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(jquerydir)" || exit 1; \
-	fi; \
-	for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  echo "$$d$$p"; \
-	done | $(am__base_list) | \
-	while read files; do \
-	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(jquerydir)'"; \
-	  $(INSTALL_DATA) $$files "$(DESTDIR)$(jquerydir)" || exit $$?; \
-	done
-
-uninstall-dist_jqueryDATA:
-	@$(NORMAL_UNINSTALL)
-	@list='$(dist_jquery_DATA)'; test -n "$(jquerydir)" || list=; \
-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	dir='$(DESTDIR)$(jquerydir)'; $(am__uninstall_files_from_dir)
 install-dist_jsDATA: $(dist_js_DATA)
 	@$(NORMAL_INSTALL)
 	@list='$(dist_js_DATA)'; test -n "$(jsdir)" || list=; \
@@ -16497,7 +16392,7 @@ install-binPROGRAMS: install-libLTLIBRAR
 
 installdirs: installdirs-recursive
 installdirs-am:
-	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(rdmtestsexecdir)" "$(DESTDIR)$(pkgpythondir)" "$(DESTDIR)$(rdmtestsdir)" "$(DESTDIR)$(rpcpythondir)" "$(DESTDIR)$(pkgpythondir)" "$(DESTDIR)$(rdminitdir)" "$(DESTDIR)$(rdmtestsdir)" "$(DESTDIR)$(rpcpythondir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(angulardir)" "$(DESTDIR)$(angularroutedir)" "$(DESTDIR)$(bootcssdir)" "$(DESTDIR)$(bootfontsdir)" "$(DESTDIR)$(bootjsdir)" "$(DESTDIR)$(cssdir)" "$(DESTDIR)$(imgdir)" "$(DESTDIR)$(jquerydir)" "$(DESTDIR)$(jsdir)" "$(DESTDIR)$(newdir)" "$(DESTDIR)$(piddatadir)" "$(DESTDIR)$(tools_rdm_testserver_imagesdir)" "$(DESTDIR)$(tools_rdm_testserver_staticdir)" "$(DESTDIR)$(viewsdir)" "$(DESTDIR)$(wwwdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(artnetincludedir)" "$(DESTDIR)$(e131includedir)" "$(DESTDIR)$(olabaseincludedir)" "$(DESTDIR)$(olardmincludedir)" "$(DESTDIR)$(olatimecodeincludedir)" "$(DESTDIR)$(pkgincludedir)" "$(DESTDIR)$(usbproincludedir)" "$(DESTDIR)$(olaacnincludedir)" "$(DESTDIR)$(olabaseincludedir)" "$(DESTDIR)$(olaclientincludedir)" "$(DESTDIR)$(oladincludedir)" "$(DESTDIR)$(oladmxincludedir)" "$(DESTDIR)$(olae133includedir)" "$(DESTDIR)$(olafileincludedir)" "$(DESTDIR)$(olahttpincludedir)" "$(DESTDIR)$(olaioincludedir)" "$(DESTDIR)$(olamathincludedir)" "$(DESTDIR)$(olamessagingincludedir)" "$(DESTDIR)$(olanetworkincludedir)" "$(DESTDIR)$(olardmincludedir)" "$(DESTDIR)$(olarpcincludedir)" "$(DESTDIR)$(olastlincludedir)" "$(DESTDIR)$(olastringsincludedir)" "$(DESTDIR)$(olasystemincludedir)" "$(DESTDIR)$(olathreadincludedir)" "$(DESTDIR)$(olatimecodeincludedir)" "$(DESTDIR)$(olautilincludedir)" "$(DESTDIR)$(olawebincludedir)" "$(DESTDIR)$(olawinincludedir)" "$(DESTDIR)$(pkgincludedir)"; do \
+	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(rdmtestsexecdir)" "$(DESTDIR)$(pkgpythondir)" "$(DESTDIR)$(rdmtestsdir)" "$(DESTDIR)$(rpcpythondir)" "$(DESTDIR)$(pkgpythondir)" "$(DESTDIR)$(rdminitdir)" "$(DESTDIR)$(rdmtestsdir)" "$(DESTDIR)$(rpcpythondir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(bootcssdir)" "$(DESTDIR)$(bootfontsdir)" "$(DESTDIR)$(cssdir)" "$(DESTDIR)$(imgdir)" "$(DESTDIR)$(jsdir)" "$(DESTDIR)$(newdir)" "$(DESTDIR)$(piddatadir)" "$(DESTDIR)$(tools_rdm_testserver_imagesdir)" "$(DESTDIR)$(tools_rdm_testserver_staticdir)" "$(DESTDIR)$(viewsdir)" "$(DESTDIR)$(wwwdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(artnetincludedir)" "$(DESTDIR)$(e131includedir)" "$(DESTDIR)$(olabaseincludedir)" "$(DESTDIR)$(olardmincludedir)" "$(DESTDIR)$(olatimecodeincludedir)" "$(DESTDIR)$(pkgincludedir)" "$(DESTDIR)$(usbproincludedir)" "$(DESTDIR)$(olaacnincludedir)" "$(DESTDIR)$(olabaseincludedir)" "$(DESTDIR)$(olaclientincludedir)" "$(DESTDIR)$(oladincludedir)" "$(DESTDIR)$(oladmxincludedir)" "$(DESTDIR)$(olae133includedir)" "$(DESTDIR)$(olafileincludedir)" "$(DESTDIR)$(olahttpincludedir)" "$(DESTDIR)$(olaioincludedir)" "$(DESTDIR)$(olamathincludedir)" "$(DESTDIR)$(olamessagingincludedir)" "$(DESTDIR)$(olanetworkincludedir)" "$(DESTDIR)$(olardmincludedir)" "$(DESTDIR)$(olarpcincludedir)" "$(DESTDIR)$(olastlincludedir)" "$(DESTDIR)$(olastringsincludedir)" "$(DESTDIR)$(olasystemincludedir)" "$(DESTDIR)$(olathreadincludedir)" "$(DESTDIR)$(olatimecodeincludedir)" "$(DESTDIR)$(olautilincludedir)" "$(DESTDIR)$(olawebincludedir)" "$(DESTDIR)$(olawinincludedir)" "$(DESTDIR)$(pkgincludedir)"; do \
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
 install: $(BUILT_SOURCES)
@@ -16678,11 +16573,8 @@ info: info-recursive
 
 info-am:
 
-install-data-am: install-dist_angularDATA \
-	install-dist_angularrouteDATA install-dist_bootcssDATA \
-	install-dist_bootfontsDATA install-dist_bootjsDATA \
-	install-dist_cssDATA install-dist_imgDATA \
-	install-dist_jqueryDATA install-dist_jsDATA \
+install-data-am: install-dist_bootcssDATA install-dist_bootfontsDATA \
+	install-dist_cssDATA install-dist_imgDATA install-dist_jsDATA \
 	install-dist_newDATA install-dist_piddataDATA \
 	install-dist_tools_rdm_testserver_imagesDATA \
 	install-dist_tools_rdm_testserver_staticDATA \
@@ -16762,11 +16654,9 @@ ps: ps-recursive
 
 ps-am:
 
-uninstall-am: uninstall-binPROGRAMS uninstall-dist_angularDATA \
-	uninstall-dist_angularrouteDATA uninstall-dist_bootcssDATA \
-	uninstall-dist_bootfontsDATA uninstall-dist_bootjsDATA \
-	uninstall-dist_cssDATA uninstall-dist_imgDATA \
-	uninstall-dist_jqueryDATA uninstall-dist_jsDATA \
+uninstall-am: uninstall-binPROGRAMS uninstall-dist_bootcssDATA \
+	uninstall-dist_bootfontsDATA uninstall-dist_cssDATA \
+	uninstall-dist_imgDATA uninstall-dist_jsDATA \
 	uninstall-dist_newDATA uninstall-dist_piddataDATA \
 	uninstall-dist_rdmtestsexecSCRIPTS \
 	uninstall-dist_tools_rdm_testserver_imagesDATA \
@@ -16819,12 +16709,10 @@ uninstall-man: uninstall-man1
 	distclean-tags distcleancheck distdir distuninstallcheck dvi \
 	dvi-am html html-am info info-am install install-am \
 	install-binPROGRAMS install-data install-data-am \
-	install-dist_angularDATA install-dist_angularrouteDATA \
 	install-dist_bootcssDATA install-dist_bootfontsDATA \
-	install-dist_bootjsDATA install-dist_cssDATA \
-	install-dist_imgDATA install-dist_jqueryDATA \
-	install-dist_jsDATA install-dist_newDATA \
-	install-dist_piddataDATA install-dist_rdmtestsexecSCRIPTS \
+	install-dist_cssDATA install-dist_imgDATA install-dist_jsDATA \
+	install-dist_newDATA install-dist_piddataDATA \
+	install-dist_rdmtestsexecSCRIPTS \
 	install-dist_tools_rdm_testserver_imagesDATA \
 	install-dist_tools_rdm_testserver_staticDATA \
 	install-dist_viewsDATA install-dist_wwwDATA install-dvi \
@@ -16862,11 +16750,9 @@ uninstall-man: uninstall-man1
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	recheck tags tags-am uninstall uninstall-am \
-	uninstall-binPROGRAMS uninstall-dist_angularDATA \
-	uninstall-dist_angularrouteDATA uninstall-dist_bootcssDATA \
-	uninstall-dist_bootfontsDATA uninstall-dist_bootjsDATA \
-	uninstall-dist_cssDATA uninstall-dist_imgDATA \
-	uninstall-dist_jqueryDATA uninstall-dist_jsDATA \
+	uninstall-binPROGRAMS uninstall-dist_bootcssDATA \
+	uninstall-dist_bootfontsDATA uninstall-dist_cssDATA \
+	uninstall-dist_imgDATA uninstall-dist_jsDATA \
 	uninstall-dist_newDATA uninstall-dist_piddataDATA \
 	uninstall-dist_rdmtestsexecSCRIPTS \
 	uninstall-dist_tools_rdm_testserver_imagesDATA \
--- ola-0.10.3.nojsmin.orig/config/config.guess
+++ ola-0.10.3.nojsmin/config/config.guess
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2014 Free Software Foundation, Inc.
+#   Copyright 1992-2016 Free Software Foundation, Inc.
 
-timestamp='2014-11-04'
+timestamp='2016-10-02'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@ timestamp='2014-11-04'
 # Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
 #
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 #
 # Please send patches to <config-patches@gnu.org>.
 
@@ -50,7 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright 1992-2016 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -168,19 +168,29 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
 	# Note: NetBSD doesn't particularly care about the vendor
 	# portion of the name.  We always set it to "unknown".
 	sysctl="sysctl -n hw.machine_arch"
-	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+	UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+	    /sbin/$sysctl 2>/dev/null || \
+	    /usr/sbin/$sysctl 2>/dev/null || \
+	    echo unknown)`
 	case "${UNAME_MACHINE_ARCH}" in
 	    armeb) machine=armeb-unknown ;;
 	    arm*) machine=arm-unknown ;;
 	    sh3el) machine=shl-unknown ;;
 	    sh3eb) machine=sh-unknown ;;
 	    sh5el) machine=sh5le-unknown ;;
+	    earmv*)
+		arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+		endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
+		machine=${arch}${endian}-unknown
+		;;
 	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
 	esac
 	# The Operating System including object format, if it has switched
-	# to ELF recently, or will in the future.
+	# to ELF recently (or will in the future) and ABI.
 	case "${UNAME_MACHINE_ARCH}" in
+	    earm*)
+		os=netbsdelf
+		;;
 	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
 		eval $set_cc_for_build
 		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
@@ -197,6 +207,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
 		os=netbsd
 		;;
 	esac
+	# Determine ABI tags.
+	case "${UNAME_MACHINE_ARCH}" in
+	    earm*)
+		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+		abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
+		;;
+	esac
 	# The OS release
 	# Debian GNU/NetBSD machines have a different userland, and
 	# thus, need a distinct triplet. However, they do not need
@@ -207,13 +224,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
 		release='-gnu'
 		;;
 	    *)
-		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
 		;;
 	esac
 	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
 	# contains redundant information, the shorter form:
 	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-	echo "${machine}-${os}${release}"
+	echo "${machine}-${os}${release}${abi}"
 	exit ;;
     *:Bitrig:*:*)
 	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
@@ -223,6 +240,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
 	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
 	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
 	exit ;;
+    *:LibertyBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
+	exit ;;
     *:ekkoBSD:*:*)
 	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
 	exit ;;
@@ -235,6 +256,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
     *:MirBSD:*:*)
 	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
 	exit ;;
+    *:Sortix:*:*)
+	echo ${UNAME_MACHINE}-unknown-sortix
+	exit ;;
     alpha:OSF1:*:*)
 	case $UNAME_RELEASE in
 	*4.0)
@@ -251,42 +275,42 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
 	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
 	case "$ALPHA_CPU_TYPE" in
 	    "EV4 (21064)")
-		UNAME_MACHINE="alpha" ;;
+		UNAME_MACHINE=alpha ;;
 	    "EV4.5 (21064)")
-		UNAME_MACHINE="alpha" ;;
+		UNAME_MACHINE=alpha ;;
 	    "LCA4 (21066/21068)")
-		UNAME_MACHINE="alpha" ;;
+		UNAME_MACHINE=alpha ;;
 	    "EV5 (21164)")
-		UNAME_MACHINE="alphaev5" ;;
+		UNAME_MACHINE=alphaev5 ;;
 	    "EV5.6 (21164A)")
-		UNAME_MACHINE="alphaev56" ;;
+		UNAME_MACHINE=alphaev56 ;;
 	    "EV5.6 (21164PC)")
-		UNAME_MACHINE="alphapca56" ;;
+		UNAME_MACHINE=alphapca56 ;;
 	    "EV5.7 (21164PC)")
-		UNAME_MACHINE="alphapca57" ;;
+		UNAME_MACHINE=alphapca57 ;;
 	    "EV6 (21264)")
-		UNAME_MACHINE="alphaev6" ;;
+		UNAME_MACHINE=alphaev6 ;;
 	    "EV6.7 (21264A)")
-		UNAME_MACHINE="alphaev67" ;;
+		UNAME_MACHINE=alphaev67 ;;
 	    "EV6.8CB (21264C)")
-		UNAME_MACHINE="alphaev68" ;;
+		UNAME_MACHINE=alphaev68 ;;
 	    "EV6.8AL (21264B)")
-		UNAME_MACHINE="alphaev68" ;;
+		UNAME_MACHINE=alphaev68 ;;
 	    "EV6.8CX (21264D)")
-		UNAME_MACHINE="alphaev68" ;;
+		UNAME_MACHINE=alphaev68 ;;
 	    "EV6.9A (21264/EV69A)")
-		UNAME_MACHINE="alphaev69" ;;
+		UNAME_MACHINE=alphaev69 ;;
 	    "EV7 (21364)")
-		UNAME_MACHINE="alphaev7" ;;
+		UNAME_MACHINE=alphaev7 ;;
 	    "EV7.9 (21364A)")
-		UNAME_MACHINE="alphaev79" ;;
+		UNAME_MACHINE=alphaev79 ;;
 	esac
 	# A Pn.n version is a patched version.
 	# A Vn.n version is a released version.
 	# A Tn.n version is a released field test version.
 	# A Xn.n version is an unreleased experimental baselevel.
 	# 1.2 uses "1.2" for uname -r.
-	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
 	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
 	exitcode=$?
 	trap '' 0
@@ -359,16 +383,16 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
 	exit ;;
     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
 	eval $set_cc_for_build
-	SUN_ARCH="i386"
+	SUN_ARCH=i386
 	# If there is a compiler, see if it is configured for 64-bit objects.
 	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
 	# This test works for both compilers.
-	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
 	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
-		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
 		grep IS_64BIT_ARCH >/dev/null
 	    then
-		SUN_ARCH="x86_64"
+		SUN_ARCH=x86_64
 	    fi
 	fi
 	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
@@ -393,7 +417,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
 	exit ;;
     sun*:*:4.2BSD:*)
 	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
 	case "`/bin/arch`" in
 	    sun3)
 		echo m68k-sun-sunos${UNAME_RELEASE}
@@ -618,13 +642,13 @@ EOF
 		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
 		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
 		    case "${sc_cpu_version}" in
-		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
+		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
 		      532)                      # CPU_PA_RISC2_0
 			case "${sc_kernel_bits}" in
-			  32) HP_ARCH="hppa2.0n" ;;
-			  64) HP_ARCH="hppa2.0w" ;;
-			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+			  32) HP_ARCH=hppa2.0n ;;
+			  64) HP_ARCH=hppa2.0w ;;
+			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
 			esac ;;
 		    esac
 		fi
@@ -663,11 +687,11 @@ EOF
 		    exit (0);
 		}
 EOF
-		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
 		    test -z "$HP_ARCH" && HP_ARCH=hppa
 		fi ;;
 	esac
-	if [ ${HP_ARCH} = "hppa2.0w" ]
+	if [ ${HP_ARCH} = hppa2.0w ]
 	then
 	    eval $set_cc_for_build
 
@@ -680,12 +704,12 @@ EOF
 	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
 	    # => hppa64-hp-hpux11.23
 
-	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
 		grep -q __LP64__
 	    then
-		HP_ARCH="hppa2.0w"
+		HP_ARCH=hppa2.0w
 	    else
-		HP_ARCH="hppa64"
+		HP_ARCH=hppa64
 	    fi
 	fi
 	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
@@ -790,14 +814,14 @@ EOF
 	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 	exit ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+	FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
 	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
 	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 	exit ;;
     5000:UNIX_System_V:4.*:*)
-	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+	FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
 	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 	exit ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
@@ -879,7 +903,7 @@ EOF
 	exit ;;
     *:GNU/*:*:*)
 	# other systems with GNU libc and userland
-	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
 	exit ;;
     i*86:Minix:*:*)
 	echo ${UNAME_MACHINE}-pc-minix
@@ -902,7 +926,7 @@ EOF
 	  EV68*) UNAME_MACHINE=alphaev68 ;;
 	esac
 	objdump --private-headers /bin/sh | grep -q ld.so.1
-	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     arc:Linux:*:* | arceb:Linux:*:*)
@@ -933,6 +957,9 @@ EOF
     crisv32:Linux:*:*)
 	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
 	exit ;;
+    e2k:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
     frv:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
@@ -945,6 +972,9 @@ EOF
     ia64:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
+    k1om:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
     m32r*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
@@ -970,6 +1000,9 @@ EOF
 	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
 	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
 	;;
+    mips64el:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
     openrisc*:Linux:*:*)
 	echo or1k-unknown-linux-${LIBC}
 	exit ;;
@@ -1002,6 +1035,9 @@ EOF
     ppcle:Linux:*:*)
 	echo powerpcle-unknown-linux-${LIBC}
 	exit ;;
+    riscv32:Linux:*:* | riscv64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
 	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
 	exit ;;
@@ -1021,7 +1057,7 @@ EOF
 	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
 	exit ;;
     x86_64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
 	exit ;;
     xtensa*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
@@ -1100,7 +1136,7 @@ EOF
 	# uname -m prints for DJGPP always 'pc', but it prints nothing about
 	# the processor, so we play safe by assuming i586.
 	# Note: whatever this is, it MUST be the same as what config.sub
-	# prints for the "djgpp" host, or else GDB configury will decide that
+	# prints for the "djgpp" host, or else GDB configure will decide that
 	# this is a cross-build.
 	echo i586-pc-msdosdjgpp
 	exit ;;
@@ -1249,6 +1285,9 @@ EOF
     SX-8R:SUPER-UX:*:*)
 	echo sx8r-nec-superux${UNAME_RELEASE}
 	exit ;;
+    SX-ACE:SUPER-UX:*:*)
+	echo sxace-nec-superux${UNAME_RELEASE}
+	exit ;;
     Power*:Rhapsody:*:*)
 	echo powerpc-apple-rhapsody${UNAME_RELEASE}
 	exit ;;
@@ -1262,9 +1301,9 @@ EOF
 	    UNAME_PROCESSOR=powerpc
 	fi
 	if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
-	    if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	    if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
 		if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-		    (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		    (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
 		    grep IS_64BIT_ARCH >/dev/null
 		then
 		    case $UNAME_PROCESSOR in
@@ -1286,7 +1325,7 @@ EOF
 	exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
 	UNAME_PROCESSOR=`uname -p`
-	if test "$UNAME_PROCESSOR" = "x86"; then
+	if test "$UNAME_PROCESSOR" = x86; then
 		UNAME_PROCESSOR=i386
 		UNAME_MACHINE=pc
 	fi
@@ -1317,7 +1356,7 @@ EOF
 	# "uname -m" is not consistent, so use $cputype instead. 386
 	# is converted to i386 for consistency with other x86
 	# operating systems.
-	if test "$cputype" = "386"; then
+	if test "$cputype" = 386; then
 	    UNAME_MACHINE=i386
 	else
 	    UNAME_MACHINE="$cputype"
@@ -1359,7 +1398,7 @@ EOF
 	echo i386-pc-xenix
 	exit ;;
     i*86:skyos:*:*)
-	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
 	exit ;;
     i*86:rdos:*:*)
 	echo ${UNAME_MACHINE}-pc-rdos
@@ -1370,23 +1409,25 @@ EOF
     x86_64:VMkernel:*:*)
 	echo ${UNAME_MACHINE}-unknown-esx
 	exit ;;
+    amd64:Isilon\ OneFS:*:*)
+	echo x86_64-unknown-onefs
+	exit ;;
 esac
 
 cat >&2 <<EOF
 $0: unable to guess system type
 
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
+This script (version $timestamp), has failed to recognize the
+operating system you are using. If your script is old, overwrite
+config.guess and config.sub with the latest versions from:
 
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 and
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
+If $0 has already been updated, send the following data and any
+information you think might be pertinent to config-patches@gnu.org to
+provide the necessary information to handle your system.
 
 config.guess timestamp = $timestamp
 
--- ola-0.10.3.nojsmin.orig/config/config.sub
+++ ola-0.10.3.nojsmin/config/config.sub
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2014 Free Software Foundation, Inc.
+#   Copyright 1992-2016 Free Software Foundation, Inc.
 
-timestamp='2014-12-03'
+timestamp='2016-11-04'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -33,7 +33,7 @@ timestamp='2014-12-03'
 # Otherwise, we print the canonical config type on stdout and succeed.
 
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
 # This file is supposed to be the same for all GNU packages
 # and recognize all the CPU types, system types and aliases
@@ -53,8 +53,7 @@ timestamp='2014-12-03'
 me=`echo "$0" | sed -e 's,.*/,,'`
 
 usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
-       $0 [OPTION] ALIAS
+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
 
 Canonicalize a configuration name.
 
@@ -68,7 +67,7 @@ Report bugs and patches to <config-patch
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright 1992-2016 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -117,8 +116,8 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-
 case $maybe_os in
   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
   linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
-  knetbsd*-gnu* | netbsd*-gnu* | \
-  kopensolaris*-gnu* | \
+  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
+  kopensolaris*-gnu* | cloudabi*-eabi* | \
   storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
@@ -255,12 +254,13 @@ case $basic_machine in
 	| arc | arceb \
 	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
 	| avr | avr32 \
+	| ba \
 	| be32 | be64 \
 	| bfin \
 	| c4x | c8051 | clipper \
 	| d10v | d30v | dlx | dsp16xx \
-	| epiphany \
-	| fido | fr30 | frv \
+	| e2k | epiphany \
+	| fido | fr30 | frv | ft32 \
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
 	| hexagon \
 	| i370 | i860 | i960 | ia64 \
@@ -301,11 +301,12 @@ case $basic_machine in
 	| open8 | or1k | or1knd | or32 \
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle \
+	| pru \
 	| pyramid \
 	| riscv32 | riscv64 \
 	| rl78 | rx \
 	| score \
-	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
 	| sh64 | sh64le \
 	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
 	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@@ -376,12 +377,13 @@ case $basic_machine in
 	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
 	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
 	| avr-* | avr32-* \
+	| ba-* \
 	| be32-* | be64-* \
 	| bfin-* | bs2000-* \
 	| c[123]* | c30-* | [cjt]90-* | c4x-* \
 	| c8051-* | clipper-* | craynv-* | cydra-* \
 	| d10v-* | d30v-* | dlx-* \
-	| elxsi-* \
+	| e2k-* | elxsi-* \
 	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
 	| h8300-* | h8500-* \
 	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
@@ -427,13 +429,15 @@ case $basic_machine in
 	| orion-* \
 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
 	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+	| pru-* \
 	| pyramid-* \
+	| riscv32-* | riscv64-* \
 	| rl78-* | romp-* | rs6000-* | rx-* \
 	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
 	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
 	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
 	| sparclite-* \
-	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
 	| tahoe-* \
 	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
 	| tile*-* \
@@ -518,6 +522,9 @@ case $basic_machine in
 		basic_machine=i386-pc
 		os=-aros
 		;;
+	asmjs)
+		basic_machine=asmjs-unknown
+		;;
 	aux)
 		basic_machine=m68k-apple
 		os=-aux
@@ -638,6 +645,14 @@ case $basic_machine in
 		basic_machine=m68k-bull
 		os=-sysv3
 		;;
+	e500v[12])
+		basic_machine=powerpc-unknown
+		os=$os"spe"
+		;;
+	e500v[12]-*)
+		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		os=$os"spe"
+		;;
 	ebmon29k)
 		basic_machine=a29k-amd
 		os=-ebmon
@@ -1017,7 +1032,7 @@ case $basic_machine in
 	ppc-* | ppcbe-*)
 		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
-	ppcle | powerpclittle | ppc-le | powerpc-little)
+	ppcle | powerpclittle)
 		basic_machine=powerpcle-unknown
 		;;
 	ppcle-* | powerpclittle-*)
@@ -1027,7 +1042,7 @@ case $basic_machine in
 		;;
 	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
-	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+	ppc64le | powerpc64little)
 		basic_machine=powerpc64le-unknown
 		;;
 	ppc64le-* | powerpc64little-*)
@@ -1373,18 +1388,18 @@ case $os in
 	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
 	      | -sym* | -kopensolaris* | -plan9* \
 	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-	      | -aos* | -aros* \
+	      | -aos* | -aros* | -cloudabi* | -sortix* \
 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
 	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-	      | -bitrig* | -openbsd* | -solidbsd* \
+	      | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
 	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
 	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
 	      | -chorusos* | -chorusrdb* | -cegcc* \
 	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+	      | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
 	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
 	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
 	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
@@ -1393,7 +1408,8 @@ case $os in
 	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
 	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
+	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
+	      | -onefs* | -tirtos* | -phoenix* | -fuchsia*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
@@ -1525,6 +1541,8 @@ case $os in
 		;;
 	-nacl*)
 		;;
+	-ios)
+		;;
 	-none)
 		;;
 	*)
--- ola-0.10.3.nojsmin.orig/config/install-sh
+++ ola-0.10.3.nojsmin/config/install-sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2013-12-25.23; # UTC
+scriptversion=2014-09-12.12; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -324,34 +324,41 @@ do
             # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
             ;;
           *)
+            # $RANDOM is not portable (e.g. dash);  use it when possible to
+            # lower collision chance
             tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-            trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+            trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
 
+            # As "mkdir -p" follows symlinks and we work in /tmp possibly;  so
+            # create the $tmpdir first (and fail if unsuccessful) to make sure
+            # that nobody tries to guess the $tmpdir name.
             if (umask $mkdir_umask &&
-                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+                $mkdirprog $mkdir_mode "$tmpdir" &&
+                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
             then
               if test -z "$dir_arg" || {
                    # Check for POSIX incompatibilities with -m.
                    # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
                    # other-writable bit of parent directory when it shouldn't.
                    # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
-                   ls_ld_tmpdir=`ls -ld "$tmpdir"`
+                   test_tmpdir="$tmpdir/a"
+                   ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
                    case $ls_ld_tmpdir in
                      d????-?r-*) different_mode=700;;
                      d????-?--*) different_mode=755;;
                      *) false;;
                    esac &&
-                   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
-                     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+                   $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
+                     ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
                      test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
                    }
                  }
               then posix_mkdir=:
               fi
-              rmdir "$tmpdir/d" "$tmpdir"
+              rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
             else
               # Remove any dirs left behind by ancient mkdir implementations.
-              rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+              rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
             fi
             trap '' 0;;
         esac;;
--- ola-0.10.3.nojsmin.orig/config/libtool.m4
+++ ola-0.10.3.nojsmin/config/libtool.m4
@@ -728,7 +728,6 @@ _LT_CONFIG_SAVE_COMMANDS([
     cat <<_LT_EOF >> "$cfgfile"
 #! $SHELL
 # Generated automatically by $as_me ($PACKAGE) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 
 # Provide generalized library-building support services.
@@ -2887,6 +2886,18 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -3546,7 +3557,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd*)
+netbsd* | netbsdelf*-gnu)
   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
   else
@@ -4424,7 +4435,7 @@ m4_if([$1], [CXX], [
 	    ;;
 	esac
 	;;
-      netbsd*)
+      netbsd* | netbsdelf*-gnu)
 	;;
       *qnx* | *nto*)
         # QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -4936,6 +4947,9 @@ m4_if([$1], [CXX], [
       ;;
     esac
     ;;
+  linux* | k*bsd*-gnu | gnu*)
+    _LT_TAGVAR(link_all_deplibs, $1)=no
+    ;;
   *)
     _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     ;;
@@ -4998,6 +5012,9 @@ dnl Note also adjust exclude_expsyms for
   openbsd* | bitrig*)
     with_gnu_ld=no
     ;;
+  linux* | k*bsd*-gnu | gnu*)
+    _LT_TAGVAR(link_all_deplibs, $1)=no
+    ;;
   esac
 
   _LT_TAGVAR(ld_shlibs, $1)=yes
@@ -5252,7 +5269,7 @@ _LT_EOF
       fi
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -5773,6 +5790,7 @@ _LT_EOF
 	if test yes = "$lt_cv_irix_exported_symbol"; then
           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
 	fi
+	_LT_TAGVAR(link_all_deplibs, $1)=no
       else
 	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
 	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
@@ -5794,7 +5812,7 @@ _LT_EOF
       esac
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
--- ola-0.10.3.nojsmin.orig/config/ltmain.sh
+++ ola-0.10.3.nojsmin/config/ltmain.sh
@@ -31,7 +31,7 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION=2.4.6
+VERSION="2.4.6 Debian-2.4.6-2"
 package_revision=2.4.6
 
 
@@ -2068,12 +2068,12 @@ include the following information:
        compiler:       $LTCC
        compiler flags: $LTCFLAGS
        linker:         $LD (gnu? $with_gnu_ld)
-       version:        $progname (GNU libtool) 2.4.6
+       version:        $progname $scriptversion Debian-2.4.6-2
        automake:       `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
        autoconf:       `($AUTOCONF --version) 2>/dev/null |$SED 1q`
 
 Report bugs to <bug-libtool@gnu.org>.
-GNU libtool home page: <http://www.gnu.org/software/libtool/>.
+GNU libtool home page: <http://www.gnu.org/s/libtool/>.
 General help using GNU software: <http://www.gnu.org/gethelp/>."
     exit 0
 }
@@ -7272,12 +7272,13 @@ func_mode_link ()
       # -tp=*                Portland pgcc target processor selection
       # --sysroot=*          for sysroot support
       # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+      # -specs=*             GCC specs files
       # -stdlib=*            select c++ std lib with clang
-      # -fsanitize=*         Clang memory and address sanitizer
+      # -fsanitize=*         Clang/GCC memory and address sanitizer
       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
       -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
       -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
-      -fsanitize=*)
+      -specs=*|-fsanitize=*)
         func_quote_for_eval "$arg"
 	arg=$func_quote_for_eval_result
         func_append compile_command " $arg"
@@ -7570,7 +7571,10 @@ func_mode_link ()
 	case $pass in
 	dlopen) libs=$dlfiles ;;
 	dlpreopen) libs=$dlprefiles ;;
-	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+	link)
+	  libs="$deplibs %DEPLIBS%"
+	  test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+	  ;;
 	esac
       fi
       if test lib,dlpreopen = "$linkmode,$pass"; then
@@ -7889,19 +7893,19 @@ func_mode_link ()
 	    # It is a libtool convenience library, so add in its objects.
 	    func_append convenience " $ladir/$objdir/$old_library"
 	    func_append old_convenience " $ladir/$objdir/$old_library"
+	    tmp_libs=
+	    for deplib in $dependency_libs; do
+	      deplibs="$deplib $deplibs"
+	      if $opt_preserve_dup_deps; then
+		case "$tmp_libs " in
+		*" $deplib "*) func_append specialdeplibs " $deplib" ;;
+		esac
+	      fi
+	      func_append tmp_libs " $deplib"
+	    done
 	  elif test prog != "$linkmode" && test lib != "$linkmode"; then
 	    func_fatal_error "'$lib' is not a convenience library"
 	  fi
-	  tmp_libs=
-	  for deplib in $dependency_libs; do
-	    deplibs="$deplib $deplibs"
-	    if $opt_preserve_dup_deps; then
-	      case "$tmp_libs " in
-	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
-	      esac
-	    fi
-	    func_append tmp_libs " $deplib"
-	  done
 	  continue
 	fi # $pass = conv
 
@@ -8825,6 +8829,9 @@ func_mode_link ()
 	    revision=$number_minor
 	    lt_irix_increment=no
 	    ;;
+	  *)
+	    func_fatal_configuration "$modename: unknown library version type '$version_type'"
+	    ;;
 	  esac
 	  ;;
 	no)
--- ola-0.10.3.nojsmin.orig/configure
+++ ola-0.10.3.nojsmin/configure
@@ -944,6 +944,7 @@ infodir
 docdir
 oldincludedir
 includedir
+runstatedir
 localstatedir
 sharedstatedir
 sysconfdir
@@ -1110,6 +1111,7 @@ datadir='${datarootdir}'
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
+runstatedir='${localstatedir}/run'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1362,6 +1364,15 @@ do
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
 
+  -runstatedir | --runstatedir | --runstatedi | --runstated \
+  | --runstate | --runstat | --runsta | --runst | --runs \
+  | --run | --ru | --r)
+    ac_prev=runstatedir ;;
+  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
+  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
+  | --run=* | --ru=* | --r=*)
+    runstatedir=$ac_optarg ;;
+
   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
     ac_prev=sbindir ;;
   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1499,7 +1510,7 @@ fi
 for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
 		datadir sysconfdir sharedstatedir localstatedir includedir \
 		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-		libdir localedir mandir
+		libdir localedir mandir runstatedir
 do
   eval ac_val=\$$ac_var
   # Remove trailing slashes.
@@ -1652,6 +1663,7 @@ Fine tuning of the installation director
   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
   --libdir=DIR            object code libraries [EPREFIX/lib]
   --includedir=DIR        C header files [PREFIX/include]
   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
@@ -8570,7 +8582,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd*)
+netbsd* | netbsdelf*-gnu)
   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
   else
@@ -12301,6 +12313,9 @@ $as_echo_n "checking whether the $compil
   openbsd* | bitrig*)
     with_gnu_ld=no
     ;;
+  linux* | k*bsd*-gnu | gnu*)
+    link_all_deplibs=no
+    ;;
   esac
 
   ld_shlibs=yes
@@ -12555,7 +12570,7 @@ _LT_EOF
       fi
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -13225,6 +13240,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >
 	if test yes = "$lt_cv_irix_exported_symbol"; then
           archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
 	fi
+	link_all_deplibs=no
       else
 	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
 	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
@@ -13246,7 +13262,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >
       esac
       ;;
 
-    netbsd*)
+    netbsd* | netbsdelf*-gnu)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -14361,6 +14377,18 @@ fi
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -17255,7 +17283,7 @@ lt_prog_compiler_static_CXX=
 	    ;;
 	esac
 	;;
-      netbsd*)
+      netbsd* | netbsdelf*-gnu)
 	;;
       *qnx* | *nto*)
         # QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -17630,6 +17658,9 @@ $as_echo_n "checking whether the $compil
       ;;
     esac
     ;;
+  linux* | k*bsd*-gnu | gnu*)
+    link_all_deplibs_CXX=no
+    ;;
   *)
     export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     ;;
@@ -18323,6 +18354,18 @@ fi
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -28238,7 +28281,6 @@ $as_echo X"$file" |
     cat <<_LT_EOF >> "$cfgfile"
 #! $SHELL
 # Generated automatically by $as_me ($PACKAGE) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 
 # Provide generalized library-building support services.
--- ola-0.10.3.nojsmin.orig/java/Makefile.in
+++ ola-0.10.3.nojsmin/java/Makefile.in
@@ -338,6 +338,7 @@ program_transform_name = @program_transf
 psdir = @psdir@
 pyexecdir = @pyexecdir@
 pythondir = @pythondir@
+runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
--- ola-0.10.3.nojsmin.orig/tools/rdm/static/rdmtests.html
+++ ola-0.10.3.nojsmin/tools/rdm/static/rdmtests.html
@@ -3,8 +3,8 @@
   <head>
     <link type='text/css' rel='stylesheet' href='/static/jquery-ui-1.8.21.custom.css' />
     <link rel='stylesheet' href='/static/ui.multiselect.css' type='text/css'>
-    <script src='/static/jquery-1.7.2.min.js'></script>
-    <script src='/static/jquery-ui-1.8.21.custom.min.js'></script>
+    <script src='/static/jquery.min.js'></script>
+    <script src='/static/jquery-ui.custom.min.js'></script>
     <script src='/static/ui.multiselect.js'></script>
     <script src='/static/rdm_tests.js'></script>
     <title>RDM Tests &amp; Publisher</title>
--- ola-0.10.3.nojsmin.orig/olad/www/Makefile.mk
+++ ola-0.10.3.nojsmin/olad/www/Makefile.mk
@@ -69,14 +69,6 @@ dist_img_DATA = \
     olad/www/new/img/light_bulb.png \
     olad/www/new/img/logo-mini.png \
     olad/www/new/img/logo.png
-dist_jquery_DATA = \
-    olad/www/new/libs/jquery/js/jquery.min.js
-dist_angularroute_DATA = \
-    olad/www/new/libs/angular-route/js/angular-route.min.js
-dist_angular_DATA = \
-    olad/www/new/libs/angular/js/angular.min.js
-dist_bootjs_DATA = \
-    olad/www/new/libs/bootstrap/js/bootstrap.min.js
 dist_bootfonts_DATA = \
     olad/www/new/libs/bootstrap/fonts/glyphicons-halflings-regular.eot \
     olad/www/new/libs/bootstrap/fonts/glyphicons-halflings-regular.svg \
--- ola-0.10.3.nojsmin.orig/tools/rdm/Makefile.mk
+++ ola-0.10.3.nojsmin/tools/rdm/Makefile.mk
@@ -17,9 +17,7 @@ module_files = \
 testserver_static_files = \
     tools/rdm/static/MIT-LICENSE.txt \
     tools/rdm/static/common.css \
-    tools/rdm/static/jquery-1.7.2.min.js \
     tools/rdm/static/jquery-ui-1.8.21.custom.css \
-    tools/rdm/static/jquery-ui-1.8.21.custom.min.js \
     tools/rdm/static/rdm_tests.js \
     tools/rdm/static/rdmtests.html \
     tools/rdm/static/ui.multiselect.css \
