diff options
33 files changed, 283 insertions, 20 deletions
@@ -69,6 +69,9 @@ clean: rpmclean ubuntu_clean: rm -rf ./ubuntu_build +debian_clean: + rm -rf ./debian_build + rpm_clean: rm -rf ./rpm/BUILD/* \ ./rpm/BUILDROOT/* \ @@ -92,26 +95,51 @@ rpm_tarball: rpmclean clean scripts/rvi.service scripts/rvi.sh \ components priv/config/rvi_sample.config scripts/rvi_instball.sh src \ -# Create an ubuntu 14.04 tarball +# Create an ubuntu package ubuntu_package: clean ubuntu_clean escript install --mode=0755 -d ./ubuntu_build -# Pack up all relevant files, and debian/, necessary for a build. +# Pack up all relevant files, and ubuntu/, necessary for a build. # Add rvi-$(VERSION) at the beginning of each file so # that theu get packed up into a correctly named subdirectory # tar czf ./ubuntu_build/rvi_$(VERSION).orig.tar.gz \ --exclude-vcs --transform="s|^|./rvi-$(VERSION)/|" \ $(SRC_LIST) \ - debian \ + ubuntu_template \ scripts/rvi.init.ubuntu - rm -rf debian/missing-sources + rm -rf ubuntu/missing-sources # Unpack the created tar file (cd ./ubuntu_build; tar xf rvi_$(VERSION).orig.tar.gz) +# Move the ubuntu template to be the debian package + mv ./ubuntu_build/rvi-$(VERSION)/ubuntu_template ./ubuntu_build/rvi-$(VERSION)/debian install -d -m 0755 ./ubuntu_build/rvi-$(VERSION)/debian/missing-sources # Descend into the unpacked directory and build. (cd ./ubuntu_build/rvi-$(VERSION); debuild -uc -us) +# Create a debian package +debian_package: clean debian_clean escript + install --mode=0755 -d ./debian_build + +# Pack up all relevant files, and debian/, necessary for a build. +# Add rvi-$(VERSION) at the beginning of each file so +# that theu get packed up into a correctly named subdirectory +# + tar czf ./debian_build/rvi_$(VERSION).orig.tar.gz \ + --exclude-vcs --transform="s|^|./rvi-$(VERSION)/|" \ + $(SRC_LIST) \ + debian_template \ + scripts/rvi.init.debian + rm -rf debian/missing-sources +# Unpack the created tar file + (cd ./debian_build; tar xf rvi_$(VERSION).orig.tar.gz) +# Move the debian template to be the debian package + mv ./debian_build/rvi-$(VERSION)/debian_template ./debian_build/rvi-$(VERSION)/debian + install -d -m 0755 ./debian_build/rvi-$(VERSION)/debian/missing-sources +# Descend into the unpacked directory and build. + (cd ./debian_build/rvi-$(VERSION); debuild -uc -us) + + rpm: rpmclean rpm_tarball rpmbuild --define "_topdir $$PWD/rpm" -ba rpm/SPECS/rvi-$(VERSION).spec diff --git a/debian/README.Debian b/debian_template/README.Debian index f80c683..f80c683 100644 --- a/debian/README.Debian +++ b/debian_template/README.Debian diff --git a/debian/README.source b/debian_template/README.source index 9e3c927..9e3c927 100644 --- a/debian/README.source +++ b/debian_template/README.source diff --git a/debian/changelog b/debian_template/changelog index 62e7b16..62e7b16 100644 --- a/debian/changelog +++ b/debian_template/changelog diff --git a/debian/compat b/debian_template/compat index ec63514..ec63514 100644 --- a/debian/compat +++ b/debian_template/compat diff --git a/debian/control b/debian_template/control index 9465e15..9465e15 100644 --- a/debian/control +++ b/debian_template/control diff --git a/debian/copyright b/debian_template/copyright index 89597cf..89597cf 100644 --- a/debian/copyright +++ b/debian_template/copyright diff --git a/debian/docs b/debian_template/docs index e69de29..e69de29 100644 --- a/debian/docs +++ b/debian_template/docs diff --git a/debian/rules b/debian_template/rules index cec0914..cec0914 100755 --- a/debian/rules +++ b/debian_template/rules diff --git a/debian/rvi.lintian-overrides b/debian_template/rvi.lintian-overrides index c307106..c307106 100644 --- a/debian/rvi.lintian-overrides +++ b/debian_template/rvi.lintian-overrides diff --git a/debian/rvi.postinst b/debian_template/rvi.postinst index f6d5de5..f6d5de5 100644 --- a/debian/rvi.postinst +++ b/debian_template/rvi.postinst diff --git a/debian/rvi.postrm b/debian_template/rvi.postrm index 0ded6f8..0ded6f8 100644 --- a/debian/rvi.postrm +++ b/debian_template/rvi.postrm diff --git a/debian/source/format b/debian_template/source/format index 163aaf8..163aaf8 100644 --- a/debian/source/format +++ b/debian_template/source/format diff --git a/debian/source/lintian-overrides b/debian_template/source/lintian-overrides index 463abe9..463abe9 100644 --- a/debian/source/lintian-overrides +++ b/debian_template/source/lintian-overrides diff --git a/python/rvi_call.py b/python/rvi_call.py index 746b4ee..6fb8b55 100755 --- a/python/rvi_call.py +++ b/python/rvi_call.py @@ -19,11 +19,11 @@ import getopt def usage(): print "Usage:", sys.argv[0], "[-n RVI-node] service key=val ..." print " RVI-node DNS name or IP of host running RVI. " - print " default: http://localhost:8801" + print " default: http://localhost:9001" print " service Service to invoke in RVI." print " key=val Named arguments to provide to service." print - print "Example: ./callrvi.py -n http://rvi1.nginfotpdx.net:8801 \\" + print "Example: ./callrvi.py -n http://rvi1.nginfotpdx.net:9001 \\" print " jlr.com/vin/aaron/4711/test/ping \\" print " arg1=val1 arg2=val2" @@ -36,7 +36,7 @@ def usage(): opts, args= getopt.getopt(sys.argv[1:], "n:") -rvi_node = "http://localhost:8801" +rvi_node = "http://localhost:9001" for o, a in opts: if o == "-n": rvi_node = a diff --git a/python/rvi_call_ws.py b/python/rvi_call_ws.py index ab87d52..c897309 100755 --- a/python/rvi_call_ws.py +++ b/python/rvi_call_ws.py @@ -6,7 +6,7 @@ import json opts, args = getopt.getopt(sys.argv[1:], "n:") -host = 'ws://localhost:8808' +host = 'ws://localhost:9008' for o, a in opts: if o == "-n": @@ -36,4 +36,4 @@ payload['params'] = {'service_name':service, 'timeout':(int(time.time())+60), 'p payload['id'] = "1" payload['method'] = 'message' -ws.send(json.dumps(payload))
\ No newline at end of file +ws.send(json.dumps(payload)) diff --git a/python/rvi_get_services.py b/python/rvi_get_services.py index eeadcdc..100ecf0 100755 --- a/python/rvi_get_services.py +++ b/python/rvi_get_services.py @@ -21,9 +21,9 @@ def usage(): print "through an RVI node." print print "Usage:", sys.argv[0], " [RVI-node]" - print "Default RVI node is http://127.0.0.1:8801" + print "Default RVI node is http://127.0.0.1:9001" print - print "Example: ./callrvi.py http://rvi1.nginfotpdx.net:8801" + print "Example: ./callrvi.py http://rvi1.nginfotpdx.net:9001" print sys.exit(255) @@ -39,7 +39,7 @@ progname = sys.argv[0] if len(sys.argv) == 2: rvi_node = sys.argv[1] else: - rvi_node = "http://localhost:8801" + rvi_node = "http://localhost:9001" # # Setup an outbound JSON-RPC connection to the backend RVI node diff --git a/python/rvi_service.py b/python/rvi_service.py index 0d6ec6d..25a45c9 100755 --- a/python/rvi_service.py +++ b/python/rvi_service.py @@ -18,7 +18,7 @@ import getopt def usage(): print "Usage:", sys.argv[0], "[-n <rvi_url>] <service_name>" print " <rvi_url> URL of Service Edge on a local RVI node." - print " Default: http://localhost:8801" + print " Default: http://localhost:9001" print " <service_name> URL of Service to register" print print "The RVI Service Edge URL can be found in" @@ -28,7 +28,7 @@ def usage(): print "The Service Edge URL is also logged as a notice when the" print "RVI node is started." print - print "Example: ./rvi_service.py -n http://rvi1.nginfotpdx.net:8801 /test/some_service" + print "Example: ./rvi_service.py -n http://rvi1.nginfotpdx.net:9001 /test/some_service" sys.exit(255) @@ -39,7 +39,7 @@ def usage(): # the sender has to match the argument names. # For example: -# rvi_call.py http://localhost:8801 jlr.com/vin/test a=1 b=2 c=3 -> +# rvi_call.py http://localhost:9001 jlr.com/vin/test a=1 b=2 c=3 -> # def service(a,b,c) # def service_invoked(**args): @@ -75,7 +75,7 @@ def services_unavailable(**args): # opts, args= getopt.getopt(sys.argv[1:], "n:") -rvi_node_url = "http://localhost:8801" +rvi_node_url = "http://localhost:9001" for o, a in opts: if o == "-n": rvi_node_url = a diff --git a/python/rvi_service_ws.py b/python/rvi_service_ws.py index 9ddfbf3..8d85981 100644 --- a/python/rvi_service_ws.py +++ b/python/rvi_service_ws.py @@ -21,14 +21,14 @@ import getopt def usage(): print "Usage:", sys.argv[0], "[-n <rvi_url>] <service_name>" print " <rvi_url> URL of Service Edge on a local RVI node." - print " Default: ws://localhost:8808" + print " Default: ws://localhost:9008" print " <service_name> URL of Service to register" print print "The Service Edge URL is logged as a notice when the" print "RVI node is started." print - print "Example: ./rvi_service_ws.py -n ws://rvi1.nginfotpdx.net:8808 /test/some_service" + print "Example: ./rvi_service_ws.py -n ws://rvi1.nginfotpdx.net:9008 /test/some_service" sys.exit(255) @@ -39,7 +39,7 @@ def usage(): # the sender has to match the argument names. # For example: -# rvi_call.py http://localhost:8801 jlr.com/vin/test a=1 b=2 c=3 -> +# rvi_call.py http://localhost:9001 jlr.com/vin/test a=1 b=2 c=3 -> # def service(a,b,c) # def service_invoked(**args): @@ -75,7 +75,7 @@ def services_unavailable(**args): # opts, args= getopt.getopt(sys.argv[1:], "n:") -rvi_node_url = "ws://localhost:8808" +rvi_node_url = "ws://localhost:9008" for o, a in opts: if o == "-n": rvi_node_url = a diff --git a/scripts/rvi.init.debian b/scripts/rvi.init.debian new file mode 100755 index 0000000..9cd4e59 --- /dev/null +++ b/scripts/rvi.init.debian @@ -0,0 +1,70 @@ +#!/bin/sh +# +# Copyright (C) 2014, Jaguar Land Rover +# +# This program is licensed under the terms and conditions of the +# Mozilla Public License, version 2.0. The full text of the +# Mozilla Public License is at https://www.mozilla.org/MPL/2.0/ +# +# +# Init.d script to start and stop an RVI system installed +# through an RPM. +# +### BEGIN INIT INFO +# Provides: rvi +# Required-Start: $network $syslog $remote_fs +# Required-Stop: $network $syslog $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start/Stop RVI node at boot time +# Description: Manage Remote Vehicle Interaction Node run state. +### END INIT INFO + +export PATH="/bin/:/usr/bin:/sbin:/usr/sbin" +export HOME=/usr/lib/rvi_core +. /lib/lsb/init-functions + +set -e + +case "$1" in + start) + log_daemon_msg "Starting Remote Vehicle Interaction Node..." "rvi" + if /usr/bin/rvi_ctl -c /etc/rvi/rvi.config start; then + log_end_msg 0 + else + log_end_msg 1 + fi + ;; + stop) + log_daemon_msg "Stopping Remote Vehicle Interaction Node..." "rvi" + if /usr/bin/rvi_ctl stop; then + log_end_msg 0 + else + log_end_msg 1 + fi + ;; + + restart) + log_daemon_msg "Restarting Remote Vehicle Interaction Node..." "rvi" + if /usr/bin/rvi_ctl restart; then + log_end_msg 0 + else + log_end_msg 1 + fi + ;; + + force-reload) + log_daemon_msg "Restarting Remote Vehicle Interaction Node..." "rvi" + if /usr/bin/rvi_ctl restart; then + log_end_msg 0 + else + log_end_msg 1 + fi + ;; + *) + log_action_msg "Usage: /etc/init.d/rvi {start|stop|restart}" + exit 1 +esac + +exit 0 + diff --git a/ubuntu_template/README.Debian b/ubuntu_template/README.Debian new file mode 100644 index 0000000..f80c683 --- /dev/null +++ b/ubuntu_template/README.Debian @@ -0,0 +1,10 @@ +rvi for Debian +-------------- + +Will rely on existing Erlang installation to work. + +We will copy out the Erlang VM BEAM files to /opt/rvi and the configuration files to /etc/opt/rvi + +/opt/rvi/rvi.sh is the main control program. + + -- Magnus Feuer <mfeuer@jaguarlandrover.com> Fri, 27 Nov 2015 15:34:39 -0800 diff --git a/ubuntu_template/README.source b/ubuntu_template/README.source new file mode 100644 index 0000000..9e3c927 --- /dev/null +++ b/ubuntu_template/README.source @@ -0,0 +1,6 @@ +rvi for Debian +-------------- + + + -- Magnus Feuer <mfeuer@jaguarlandrover.com> Fri, 27 Nov 2015 15:34:39 -0800 + diff --git a/ubuntu_template/changelog b/ubuntu_template/changelog new file mode 100644 index 0000000..62e7b16 --- /dev/null +++ b/ubuntu_template/changelog @@ -0,0 +1,5 @@ +rvi (0.5.0-1ubuntu1) trusty; urgency=low + + * Initial release + + -- Magnus Feuer <mfeuer@jaguarlandrover.com> Fri, 27 Nov 2015 15:34:39 -0800 diff --git a/ubuntu_template/compat b/ubuntu_template/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/ubuntu_template/compat @@ -0,0 +1 @@ +9 diff --git a/ubuntu_template/control b/ubuntu_template/control new file mode 100644 index 0000000..9465e15 --- /dev/null +++ b/ubuntu_template/control @@ -0,0 +1,13 @@ +Source: rvi +Section: net +Priority: optional +Maintainer: Magnus Feuer <mfeuer@jaguarlandrover.com> +Build-Depends: debhelper (>= 9), libbluetooth-dev, esl-erlang (>= 1:18.2) +Standards-Version: 3.9.5 +Homepage: https://github.com/PDXostc/rvi_core + +Package: rvi +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends},bluez, esl-erlang (>= 1:18.2), python-jsonrpclib (>= 0.1.3-1build1), python (>= 2.7.5-5ubuntu3) +Description: Remote Vehicle Interaction + GENIVI Remote Vehicle Interaction Core diff --git a/ubuntu_template/copyright b/ubuntu_template/copyright new file mode 100644 index 0000000..89597cf --- /dev/null +++ b/ubuntu_template/copyright @@ -0,0 +1,11 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: rvi +Source: http://github.com/PDXostc/rvi_core + +Files: * +Copyright: Copyright 2014,2015,2016 Jaguar Land Rover +License: MPL-2.0 + This program is licensed under the terms and conditions of the + Mozilla Public License, version 2.0. The full text of the + Mozilla Public License is at https://www.mozilla.org/MPL/2.0/ + diff --git a/ubuntu_template/docs b/ubuntu_template/docs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/ubuntu_template/docs diff --git a/ubuntu_template/rules b/ubuntu_template/rules new file mode 100755 index 0000000..0d2cf19 --- /dev/null +++ b/ubuntu_template/rules @@ -0,0 +1,23 @@ +#!/usr/bin/make -f +# -*- makefile --* + +# Uncomment this to turn on verbose mode. +export DH_VERBOSE=1 + +%: + dh $@ + +override_dh_auto_install: + ./scripts/rvi_install \ + -s ./debian/rvi \ + -k priv/keys/insecure_device_key.pem \ + -r priv/certificates/insecure_root_cert.crt \ + -d priv/certificates/insecure_device_cert.crt \ + -c priv/credentials/insecure_credential.jwt \ + -l ./debian/rvi/var/log/rvi ./debian/rvi/usr/lib/rvi_core +# Copy out rvi_ctl to /usr/bin + install -D -m 0755 ./debian/rvi/usr/lib/rvi_core/rvi_ctl ./debian/rvi/usr/bin/rvi_ctl +# Install default config + install -D -m 0644 ./priv/config/rvi_ubuntu.config ./debian/rvi/etc/rvi/rvi.config +# Install start/stop scripts + install -D -m 0755 ./scripts/rvi.init.ubuntu ./debian/rvi/etc/init.d/rvi diff --git a/ubuntu_template/rvi.lintian-overrides b/ubuntu_template/rvi.lintian-overrides new file mode 100644 index 0000000..c307106 --- /dev/null +++ b/ubuntu_template/rvi.lintian-overrides @@ -0,0 +1,3 @@ +executable-not-elf-or-script +missing-dep-for-interpreter +binary-without-manpage
\ No newline at end of file diff --git a/ubuntu_template/rvi.postinst b/ubuntu_template/rvi.postinst new file mode 100644 index 0000000..f6d5de5 --- /dev/null +++ b/ubuntu_template/rvi.postinst @@ -0,0 +1,50 @@ +#!/bin/sh +# postinst script for rvi +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <postinst> `configure' <most-recently-configured-version> +# * <old-postinst> `abort-upgrade' <new version> +# * <conflictor's-postinst> `abort-remove' `in-favour' <package> +# <new-version> +# * <postinst> `abort-remove' +# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' +# <failed-install-package> <version> `removing' +# <conflicting-package> <version> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +# source debconf library +. /usr/share/debconf/confmodule + +case "$1" in + + configure) + # Set up our config for apache + cat /proc/sys/kernel/random/uuid > /etc/rvi/device_id + echo "RVI Device ID set to $(cat /etc/rvi/device_id) in /etc/rvi/device_id" + update-rc.d rvi defaults + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + exit 0 + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; + +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +db_stop + +exit 0 diff --git a/ubuntu_template/rvi.postrm b/ubuntu_template/rvi.postrm new file mode 100644 index 0000000..0ded6f8 --- /dev/null +++ b/ubuntu_template/rvi.postrm @@ -0,0 +1,41 @@ +#!/bin/sh +# postrm script for rvi +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <postinst> `configure' <most-recently-configured-version> +# * <old-postinst> `abort-upgrade' <new version> +# * <conflictor's-postinst> `abort-remove' `in-favour' <package> +# <new-version> +# * <postinst> `abort-remove' +# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' +# <failed-install-package> <version> `removing' +# <conflicting-package> <version> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +# source debconf library +. /usr/share/debconf/confmodule + +case "$1" in + + remove|purge|upgrde|disappear) + rm -f /etc/init.d/rvi + update-rc.d rvi remove + ;; + + *) + exit 0 + ;; + + +esac + +#DEBHELPER# + +db_stop + +exit 0 diff --git a/ubuntu_template/source/format b/ubuntu_template/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/ubuntu_template/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/ubuntu_template/source/lintian-overrides b/ubuntu_template/source/lintian-overrides new file mode 100644 index 0000000..463abe9 --- /dev/null +++ b/ubuntu_template/source/lintian-overrides @@ -0,0 +1 @@ +source-is-missing |