Add configuration variables for runtime socket dirs
authorJosé Bollo <jose.bollo@iot.bzh>
Tue, 27 Feb 2018 14:07:54 +0000 (15:07 +0100)
committerJosé Bollo <jose.bollo@iot.bzh>
Wed, 28 Feb 2018 08:15:17 +0000 (09:15 +0100)
2 new configuration variables:

 - afm_platform_rundir  (default /run/platform)

     Path to location of platform runtime sockets

 - afm_users_rundir     (default /run/user)

     Path to location of users runtime sockets

Change-Id: I65007fee1ca2ce6f1247a67ba0b121f97c08f209
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
CMakeLists.txt
conf/system/afm-system-daemon.socket.in
conf/unit/afm-unit-debug.conf.in
conf/unit/afm-unit.conf.in
conf/unit/generate-unit-conf/afm-unit
conf/unit/generate-unit-conf/service.inc
conf/user/CMakeLists.txt
conf/user/afm-user-daemon.service.in
scripts/CMakeLists.txt
scripts/afm-debug.in [moved from scripts/afm-debug with 98% similarity]
scripts/afm-util.in [moved from scripts/afm-util with 95% similarity]

index 5c0dd0c..1e289fa 100644 (file)
@@ -47,6 +47,8 @@ set(afm_user_appdir         "app-data" CACHE STRING "User subdirectory for appli
 set(afm_user_appdir_label   "User::App-Shared" CACHE STRING "Smack label of the user subdirectory for applications")
 set(systemd_units_root      "${CMAKE_INSTALL_FULL_LIBDIR}/systemd" CACHE STRING "Place where unit files are to be set")
 set(wgtpkg_trusted_cert_dir "${afm_confdir}/certs" CACHE STRING "Path to internal certificates")
+set(afm_platform_rundir     "/run/platform" CACHE STRING "Path to location of platform runtime sockets")
+set(afm_users_rundir        "/run/user" CACHE STRING "Path to location of users runtime sockets")
 
 if(USE_SIMULATION)
     set(SIMULATE_SECMGR ON)
index eeae06f..6ab8d8d 100644 (file)
@@ -1,7 +1,7 @@
 
 [Socket]
 SmackLabel=*
-ListenStream=/run/afm/apis/ws/afm-main
+ListenStream=@afm_platform_rundir@/apis/ws/afm-main
 FileDescriptorName=afm-main
 
 Service=afm-system-daemon.service
index fbf530a..ee6b69b 100644 (file)
@@ -145,11 +145,11 @@ Environment=LD_LIBRARY_PATH={{:#metadata.install-dir}}/lib
 Environment=XDG_DATA_HOME=/home/%i/app-data/{{:id}}
 Environment=XDG_CONFIG_HOME=/home/%i/app-data/{{:id}}
 Environment=XDG_CACHE_HOME=/home/%i/app-data/{{:id}}
-Environment=XDG_RUNTIME_DIR=/run/user/%i
-Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/%i/bus
+Environment=XDG_RUNTIME_DIR=@afm_users_rundir@/%i
+Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=@afm_users_rundir@/%i/bus
 ; Needed to enable debug
 Environment=AFM_ID={{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}}
-EnvironmentFile=-/var/run/afm-debug/{{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}}.env
+EnvironmentFile=-@afm_platform_rundir@/debug/{{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}}.env
 SyslogIdentifier=afbd-{{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}}
 StandardInput=null
 StandardOutput=journal
@@ -172,9 +172,9 @@ ExecStart=/usr/bin/afb-daemon \
        --roothttp={{#content.type=application/vnd.agl.service}}.{{/content.type=application/vnd.agl.service}}{{^content.type=application/vnd.agl.service}}{{#required-permission.urn:AGL:permission::public:no-htdocs}}.{{/required-permission.urn:AGL:permission::public:no-htdocs}}{{^required-permission.urn:AGL:permission::public:no-htdocs}}htdocs{{/required-permission.urn:AGL:permission::public:no-htdocs}}{{/content.type=application/vnd.agl.service}} \
        {{#required-permission.urn:AGL:permission::public:applications:read}}--alias=/icons:{{:#metadata.icons-dir}}{{/required-permission.urn:AGL:permission::public:applications:read}} \
        {{#required-api}} \
-               {{#value=auto|ws}}--ws-client=unix:/run/user/%i/apis/ws/{{name}}{{/value=auto|ws}} \
+               {{#value=auto|ws}}--ws-client=unix:@afm_users_rundir@/%i/apis/ws/{{name}}{{/value=auto|ws}} \
                {{#value=dbus}}--dbus-client={{name}}{{/value=dbus}} \
-               {{#value=link}}--binding=/run/user/%i/apis/lib/{{name}}{{/value=link}} \
+               {{#value=link}}--binding=@afm_users_rundir@/%i/apis/lib/{{name}}{{/value=link}} \
                {{#value=cloud}}--cloud-client={{name}}{{/value=cloud}} \
                {{#value=local}}--binding={{:#metadata.install-dir}}/{{name}}{{/value=local}} \
        {{/required-api}} \
@@ -217,7 +217,7 @@ DefaultDependencies=no
 SmackLabel=*
 SmackLabelIPIn=*
 SmackLabelIPOut=*
-ListenStream=/run/user/%i/apis/ws/{{name}}
+ListenStream=@afm_users_rundir@/%i/apis/ws/{{name}}
 FileDescriptorName={{name}}
 Service=afm-{{#required-permission.urn:AGL:permission::public:hidden}}service{{/required-permission.urn:AGL:permission::public:hidden}}{{^required-permission.urn:AGL:permission::public:hidden}}appli{{/required-permission.urn:AGL:permission::public:hidden}}-{{:id}}--{{:ver}}--{{:#target}}@%i.service
 %nl
index 1824358..9fa3794 100644 (file)
@@ -145,8 +145,8 @@ Environment=LD_LIBRARY_PATH={{:#metadata.install-dir}}/lib
 Environment=XDG_DATA_HOME=/home/%i/app-data/{{:id}}
 Environment=XDG_CONFIG_HOME=/home/%i/app-data/{{:id}}
 Environment=XDG_CACHE_HOME=/home/%i/app-data/{{:id}}
-Environment=XDG_RUNTIME_DIR=/run/user/%i
-Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/%i/bus
+Environment=XDG_RUNTIME_DIR=@afm_users_rundir@/%i
+Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=@afm_users_rundir@/%i/bus
 SyslogIdentifier=afbd-{{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}}
 StandardInput=null
 StandardOutput=journal
@@ -172,9 +172,9 @@ ExecStart=/usr/bin/afb-daemon \
        {{/content.type=application/vnd.agl.service}} \
        {{#required-permission.urn:AGL:permission::public:applications:read}}--alias=/icons:{{:#metadata.icons-dir}}{{/required-permission.urn:AGL:permission::public:applications:read}} \
        {{#required-api}} \
-               {{#value=auto|ws}}--ws-client=unix:/run/user/%i/apis/ws/{{name}}{{/value=auto|ws}} \
+               {{#value=auto|ws}}--ws-client=unix:@afm_users_rundir@/%i/apis/ws/{{name}}{{/value=auto|ws}} \
                {{#value=dbus}}--dbus-client={{name}}{{/value=dbus}} \
-               {{#value=link}}--binding=/run/user/%i/apis/lib/{{name}}{{/value=link}} \
+               {{#value=link}}--binding=@afm_users_rundir@/%i/apis/lib/{{name}}{{/value=link}} \
                {{#value=cloud}}--cloud-client={{name}}{{/value=cloud}} \
                {{#value=local}}--binding={{:#metadata.install-dir}}/{{name}}{{/value=local}} \
        {{/required-api}} \
@@ -217,7 +217,7 @@ DefaultDependencies=no
 SmackLabel=*
 SmackLabelIPIn=*
 SmackLabelIPOut=*
-ListenStream=/run/user/%i/apis/ws/{{name}}
+ListenStream=@afm_users_rundir@/%i/apis/ws/{{name}}
 FileDescriptorName={{name}}
 Service=afm-{{#required-permission.urn:AGL:permission::public:hidden}}service{{/required-permission.urn:AGL:permission::public:hidden}}{{^required-permission.urn:AGL:permission::public:hidden}}appli{{/required-permission.urn:AGL:permission::public:hidden}}-{{:id}}--{{:ver}}--{{:#target}}@%i.service
 %nl
index 9a8cd62..e2fb7d0 100644 (file)
@@ -52,7 +52,8 @@ define( `UNIT_NAME_BASE', `afm-ON_PERM(`:public:hidden', `service', `appli')-{{:
 define( `UNIT_NAME_SERVICE', `UNIT_NAME_BASE%i.service')
 define( `UNIT_NAME_SOCKET_FOR', `afm-api-ws-$1@%i.socket')
 define( `APP_DATA_DIR', `/home/%i/app-data')
-define( `USER_RUN_DIR', `/run/user/%i')
+define( `USER_RUN_DIR', `@afm_users_rundir@/%i')
+define( `DEBUGGING_DIR', `@afm_platform_rundir@/debug')
 
 -----------------------------------------------------------------------
 -- 
index 0d784da..88e4346 100644 (file)
@@ -80,13 +80,13 @@ Environment=LD_LIBRARY_PATH={{:#metadata.install-dir}}/lib
 Environment=XDG_DATA_HOME=APP_DATA_DIR/{{:id}}
 Environment=XDG_CONFIG_HOME=APP_DATA_DIR/{{:id}}
 Environment=XDG_CACHE_HOME=APP_DATA_DIR/{{:id}}
-Environment=XDG_RUNTIME_DIR=/run/user/%i
-Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/%i/bus
+Environment=XDG_RUNTIME_DIR=USER_RUN_DIR
+Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=USER_RUN_DIR/bus
 
 IF_AGL_DEVEL
 ; Needed to enable debug
 Environment=AFM_ID=TARGET
-EnvironmentFile=-/var/run/afm-debug/TARGET.env
+EnvironmentFile=-DEBUGGING_DIR/TARGET.env
 ENDIF
 
 SyslogIdentifier=afbd-TARGET
index 714a962..146dd6b 100644 (file)
@@ -18,9 +18,9 @@
 
 cmake_minimum_required(VERSION 2.8)
 
-configure_file(afm-user-daemon.service.in afm-user-daemon.service)
-
 if(NOT USE_SDK)
+       configure_file(afm-user-daemon.service.in afm-user-daemon.service)
+
        set(SYSCONFDIR_DBUS_USER   ${CMAKE_INSTALL_SYSCONFDIR}/dbus-1/session.d CACHE STRING "Path to dbus session configuration files")
        set(UNITDIR_USER           ${CMAKE_INSTALL_LIBDIR}/systemd/user CACHE STRING "Path to systemd system unit files")
 
index 11e479c..ec3684c 100644 (file)
@@ -4,7 +4,7 @@ Description=Application Framework Master, User side
 [Service]
 Type=dbus                                
 BusName=org.AGL.afm.user          
-ExecStart=/usr/bin/afm-user-daemon --user-dbus=unix:path=%t/bus unix:/run/afm/apis/ws/afm-main
+ExecStart=/usr/bin/afm-user-daemon --user-dbus=unix:path=%t/bus unix:@afm_platform_rundir@/apis/ws/afm-main
 Environment=AFM_APP_INSTALL_DIR=%%r
 EnvironmentFile=-@afm_confdir@/unit.env.d/*
 Restart=on-failure
index e0f80ac..b1ba1d7 100644 (file)
 cmake_minimum_required(VERSION 2.8)
 
 if(NOT USE_SDK)
-       install(PROGRAMS afm-util DESTINATION ${CMAKE_INSTALL_BINDIR})
+       configure_file(afm-util.in afm-util)
+       install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/afm-util DESTINATION ${CMAKE_INSTALL_BINDIR})
        install(PROGRAMS afm-install DESTINATION ${CMAKE_INSTALL_BINDIR})
        if(AGL_DEVEL)
-               install(PROGRAMS afm-debug DESTINATION ${CMAKE_INSTALL_BINDIR})
+               configure_file(afm-debug.in afm-debug)
+               install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/afm-debug DESTINATION ${CMAKE_INSTALL_BINDIR})
        endif()
 endif()
 
similarity index 98%
rename from scripts/afm-debug
rename to scripts/afm-debug.in
index 18ecae2..e676469 100755 (executable)
@@ -36,7 +36,7 @@ function info() {
 }
 
 # setup debug dir (shared with service file)
-DBGDIR=/var/run/afm-debug
+DBGDIR=@afm_platform_rundir@/debug
 mkdir -p $DBGDIR
 
 # check application name passed as first arg by gdb
similarity index 95%
rename from scripts/afm-util
rename to scripts/afm-util.in
index c5e48eb..40bc7da 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 send() {
-       afb-client-demo -H -d unix:/run/afm/apis/ws/afm-main "$1" "$2" |
+       afb-client-demo -H -d unix:@afm_platform_rundir@/apis/ws/afm-main "$1" "$2" |
        awk '$1=="ON-REPLY-FAIL"{$1="ERROR:";$2="";print;exit 1;}NR>1'
 }