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)
[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
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
--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}} \
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
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
{{/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}} \
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
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')
-----------------------------------------------------------------------
--
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
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")
[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
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()
}
# 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
#!/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'
}