summaryrefslogtreecommitdiffstats
path: root/meta-agl-demo/recipes-demo-hmi/navigation/navigation
diff options
context:
space:
mode:
Diffstat (limited to 'meta-agl-demo/recipes-demo-hmi/navigation/navigation')
-rw-r--r--meta-agl-demo/recipes-demo-hmi/navigation/navigation/0001-switch-to-pipewire-output.patch34
-rw-r--r--meta-agl-demo/recipes-demo-hmi/navigation/navigation/0002-openssl-1.1-fixes.patch31
-rw-r--r--meta-agl-demo/recipes-demo-hmi/navigation/navigation/0003-update-permissions.patch22
-rwxr-xr-xmeta-agl-demo/recipes-demo-hmi/navigation/navigation/download_mapdata_jp.sh61
-rwxr-xr-xmeta-agl-demo/recipes-demo-hmi/navigation/navigation/download_mapdata_uk.sh61
-rw-r--r--meta-agl-demo/recipes-demo-hmi/navigation/navigation/org.agl.naviapi.conf15
6 files changed, 224 insertions, 0 deletions
diff --git a/meta-agl-demo/recipes-demo-hmi/navigation/navigation/0001-switch-to-pipewire-output.patch b/meta-agl-demo/recipes-demo-hmi/navigation/navigation/0001-switch-to-pipewire-output.patch
new file mode 100644
index 00000000..53c1165d
--- /dev/null
+++ b/meta-agl-demo/recipes-demo-hmi/navigation/navigation/0001-switch-to-pipewire-output.patch
@@ -0,0 +1,34 @@
+gpsnavi: Switch to pipewire output
+
+Update the talk scripts to use pipewire output via gst-launch-1.0
+instead of PulseAudio's paplay. gstreamer is used to allow using the
+pipewire output sink and set its media role property.
+
+Upstream-Status: Inappropriate [no upstream]
+
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
+diff --git a/flite_agl.in b/flite_agl.in
+index 28b512c..be41d66 100644
+--- a/flite_agl.in
++++ b/flite_agl.in
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+ TMP=/tmp/navi.wav
+ echo "$1" | flite_hts_engine -m @datadir@/Voice/us/cmu_us_arctic_slt.htsvoice -o $TMP
+-paplay --property='media.role=Navi' $TMP
++gst-launch-1.0 filesrc location=$TMP ! decodebin ! audioconvert ! audioresample ! pwaudiosink stream-properties="p,media.role=Navigation"
+ rm -f $TMP
+
+diff --git a/jtalk_agl.in b/jtalk_agl.in
+index 76900f4..0ca6975 100644
+--- a/jtalk_agl.in
++++ b/jtalk_agl.in
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+ TMP=/tmp/navi.wav
+ echo "$1" | open_jtalk -ow $TMP -m @exec_prefix@/share/Voice/mei/mei_normal.htsvoice -x @exec_prefix@/share/dic/
+-paplay --property='media.role=Navi' $TMP
++gst-launch-1.0 filesrc location=$TMP ! decodebin ! audioconvert ! audioresample ! pwaudiosink stream-properties="p,media.role=Navigation"
+ rm -f $TMP
+
diff --git a/meta-agl-demo/recipes-demo-hmi/navigation/navigation/0002-openssl-1.1-fixes.patch b/meta-agl-demo/recipes-demo-hmi/navigation/navigation/0002-openssl-1.1-fixes.patch
new file mode 100644
index 00000000..9506ce11
--- /dev/null
+++ b/meta-agl-demo/recipes-demo-hmi/navigation/navigation/0002-openssl-1.1-fixes.patch
@@ -0,0 +1,31 @@
+gpsnavi: Fix compilation with OpenSSL 1.1
+
+Handle the ERR_load_crypto_strings and ERR_free_strings functions no
+longer being present in OpenSSL 1.1.
+
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
+diff --git a/src/sms/sms-core/SMCAL/SMCAL.c b/src/sms/sms-core/SMCAL/SMCAL.c
+index eadab8f..2dfe1f3 100755
+--- a/src/sms/sms-core/SMCAL/SMCAL.c
++++ b/src/sms/sms-core/SMCAL/SMCAL.c
+@@ -158,7 +158,9 @@ void SC_CAL_Initialize_OpenSSL() {
+ // 初期化
+ ERR_load_BIO_strings();
+ SSL_load_error_strings();
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ ERR_load_crypto_strings();
++#endif
+ OpenSSL_add_all_algorithms();
+
+ // SSLの初期化(戻り値は常に1)
+@@ -542,7 +544,9 @@ E_SC_CAL_RESULT SC_CAL_DisConnect(SMCAL *cal)
+ if (NULL != cal->ssl.ctx) {
+ SSL_CTX_free((SSL_CTX*)cal->ssl.ctx);
+ }
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ ERR_free_strings();
++#endif
+
+ cal->ssl.ssl = NULL;
+ cal->ssl.ctx = NULL;
diff --git a/meta-agl-demo/recipes-demo-hmi/navigation/navigation/0003-update-permissions.patch b/meta-agl-demo/recipes-demo-hmi/navigation/navigation/0003-update-permissions.patch
new file mode 100644
index 00000000..1f1ee491
--- /dev/null
+++ b/meta-agl-demo/recipes-demo-hmi/navigation/navigation/0003-update-permissions.patch
@@ -0,0 +1,22 @@
+gpsnavi: Update permissions
+
+Add the new display and audio permissions required with the change to
+running as non-root.
+
+Upstream-Status: Inappropriate [no upstream]
+
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
+diff --git a/agl/config.xml b/agl/config.xml
+index 9d4c0ca..44de94a 100755
+--- a/agl/config.xml
++++ b/agl/config.xml
+@@ -8,6 +8,8 @@
+ <feature name="urn:AGL:widget:required-permission">
+ <param name="urn:AGL:permission::public:no-htdocs" value="required" />
+ <param name="http://tizen.org/privilege/internal/dbus" value="required" />
++ <param name="urn:AGL:permission::public:display" value="required" />
++ <param name="urn:AGL:permission::public:audio" value="required" />
+ </feature>
+ <feature name="urn:AGL:widget:required-api">
+ <param name="homescreen" value="ws" />
diff --git a/meta-agl-demo/recipes-demo-hmi/navigation/navigation/download_mapdata_jp.sh b/meta-agl-demo/recipes-demo-hmi/navigation/navigation/download_mapdata_jp.sh
new file mode 100755
index 00000000..15120f89
--- /dev/null
+++ b/meta-agl-demo/recipes-demo-hmi/navigation/navigation/download_mapdata_jp.sh
@@ -0,0 +1,61 @@
+#!/bin/sh
+#
+# AGL Navigation mapdata download scripts
+#
+
+#--------------------------------------------------------------
+help()
+{
+bn=`basename $0`
+cat << EOF
+usage
+host: sudo $bn 'target_rootfs_path/'
+target : $bn /
+EOF
+
+}
+#-check para-------------------------------------------------------
+shift `expr $OPTIND - 1`
+
+if [ $# != 1 ]; then
+ help
+ exit
+fi
+
+rootfs=$1
+
+#----------------------------------------------------------------
+
+# check the if root? ------------------------------
+userid=`id -u`
+if [ $userid -ne "0" ]; then
+ echo "you're not root? run with sudo"
+ exit
+fi
+
+if [ ! -e $1 ]; then
+ echo "rootfs:$1 not found"
+ exit
+fi
+
+if [ ! -f $HOME/navi_data.tar.gz ]; then
+ echo "no map data"
+ echo "start downloading..."
+ wget --directory-prefix=$HOME http://agl.wismobi.com/data/japan_TR9/navi_data.tar.gz
+else
+ echo "use downloaded map data"
+fi
+
+mapdatadir=$rootfs/var/mapdata
+
+if [ ! -d $mapdatadir ]; then
+ echo "map data directory does not exist"
+ echo "create a directory" $mapdatadir
+ mkdir -p $mapdatadir
+else
+ echo "map data directory exists"
+fi
+
+tar xvzf $HOME/navi_data.tar.gz -C $mapdatadir
+sync
+echo "done.."
diff --git a/meta-agl-demo/recipes-demo-hmi/navigation/navigation/download_mapdata_uk.sh b/meta-agl-demo/recipes-demo-hmi/navigation/navigation/download_mapdata_uk.sh
new file mode 100755
index 00000000..d1f9a796
--- /dev/null
+++ b/meta-agl-demo/recipes-demo-hmi/navigation/navigation/download_mapdata_uk.sh
@@ -0,0 +1,61 @@
+#!/bin/sh
+#
+# AGL Navigation mapdata download scripts
+#
+
+#--------------------------------------------------------------
+help()
+{
+bn=`basename $0`
+cat << EOF
+usage
+host: sudo $bn 'target_rootfs_path/'
+target : $bn /
+EOF
+
+}
+#-check para-------------------------------------------------------
+shift `expr $OPTIND - 1`
+
+if [ $# != 1 ]; then
+ help
+ exit
+fi
+
+rootfs=$1
+
+#----------------------------------------------------------------
+
+# check the if root? ------------------------------
+userid=`id -u`
+if [ $userid -ne "0" ]; then
+ echo "you're not root? run with sudo"
+ exit
+fi
+
+if [ ! -e $1 ]; then
+ echo "rootfs:$1 not found"
+ exit
+fi
+
+if [ ! -f $HOME/navi_data_UK.tar.gz ]; then
+ echo "no map data"
+ echo "start downloading..."
+ wget --directory-prefix=$HOME http://agl.wismobi.com/data/UnitedKingdom_TR9/navi_data_UK.tar.gz
+else
+ echo "use downloaded map data"
+fi
+
+mapdatadir=$rootfs/var/mapdata
+
+if [ ! -d $mapdatadir ]; then
+ echo "map data directory does not exist"
+ echo "create a directory" $mapdatadir
+ mkdir -p $mapdatadir
+else
+ echo "map data directory exists"
+fi
+
+tar xvzf $HOME/navi_data_UK.tar.gz -C $mapdatadir
+sync
+echo "done.."
diff --git a/meta-agl-demo/recipes-demo-hmi/navigation/navigation/org.agl.naviapi.conf b/meta-agl-demo/recipes-demo-hmi/navigation/navigation/org.agl.naviapi.conf
new file mode 100644
index 00000000..7f4d85f0
--- /dev/null
+++ b/meta-agl-demo/recipes-demo-hmi/navigation/navigation/org.agl.naviapi.conf
@@ -0,0 +1,15 @@
+<!DOCTYPE busconfig PUBLIC
+"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig>
+ <policy context="default">
+ <!-- Allow everyone to talk to main service. We'll later add an agent to
+ only share the location if user allows it. -->
+ <allow send_interface="org.agl.naviapi"/>
+ </policy>
+
+ <policy user="root">
+ <!-- Allow root to own the name on the bus -->
+ <allow own="org.agl.naviapi"/>
+ </policy>
+</busconfig>