From 3f6dcaacd7abc85ebed40053a3ce73bc7753ddf9 Mon Sep 17 00:00:00 2001 From: José Bollo Date: Wed, 19 Apr 2017 11:32:23 +0200 Subject: Improve environment setting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Some environment variable were set in the configuration files. This wasn't a valuable solution. Allowing now system tning to put environment variables in files of /etc/afm/unit.env.d is much more flexible. Change-Id: I1796061c9055a2860f0bbab340aa3a6e7b85dd3d Signed-off-by: José Bollo --- conf/CMakeLists.txt | 10 +- conf/afm-system-daemon.service | 15 -- conf/afm-system-daemon.service.in | 15 ++ conf/afm-unit.conf | 282 ------------------------------------- conf/afm-unit.conf.in | 283 ++++++++++++++++++++++++++++++++++++++ conf/afm-user-daemon.service | 16 --- conf/afm-user-daemon.service.in | 16 +++ 7 files changed, 321 insertions(+), 316 deletions(-) delete mode 100644 conf/afm-system-daemon.service create mode 100644 conf/afm-system-daemon.service.in delete mode 100644 conf/afm-unit.conf create mode 100644 conf/afm-unit.conf.in delete mode 100644 conf/afm-user-daemon.service create mode 100644 conf/afm-user-daemon.service.in diff --git a/conf/CMakeLists.txt b/conf/CMakeLists.txt index d8611e0..cf3d3ec 100644 --- a/conf/CMakeLists.txt +++ b/conf/CMakeLists.txt @@ -19,6 +19,9 @@ cmake_minimum_required(VERSION 2.8) configure_file(afm-launch.conf.in afm-launch.conf) +configure_file(afm-unit.conf.in afm-unit.conf) +configure_file(afm-system-daemon.service.in afm-system-daemon.service) +configure_file(afm-user-daemon.service.in afm-user-daemon.service) if(NOT USE_SDK) set(SYSCONFDIR_DBUS_SYSTEM ${CMAKE_INSTALL_SYSCONFDIR}/dbus-1/system.d CACHE STRING "Path to dbus system configuration files") @@ -27,10 +30,11 @@ if(NOT USE_SDK) set(UNITDIR_USER ${CMAKE_INSTALL_LIBDIR}/systemd/user CACHE STRING "Path to systemd system unit files") install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/afm-system-daemon.conf DESTINATION ${SYSCONFDIR_DBUS_SYSTEM}) - install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/afm-system-daemon.service DESTINATION ${UNITDIR_SYSTEM}) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/afm-system-daemon.service DESTINATION ${UNITDIR_SYSTEM}) install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/afm-user-daemon.conf DESTINATION ${SYSCONFDIR_DBUS_USER}) - install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/afm-user-daemon.service DESTINATION ${UNITDIR_USER}) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/afm-user-daemon.service DESTINATION ${UNITDIR_USER}) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/afm-launch.conf DESTINATION ${afm_confdir}) - install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/afm-unit.conf DESTINATION ${afm_confdir}) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/afm-unit.conf DESTINATION ${afm_confdir}) + install(DIRECTORY DESTINATION ${afm_confdir}/unit.env.d) endif() diff --git a/conf/afm-system-daemon.service b/conf/afm-system-daemon.service deleted file mode 100644 index 77e1f1b..0000000 --- a/conf/afm-system-daemon.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=Application Framework Master, system side - -[Service] -BusName=org.AGL.afm.system -User=afm -Group=afm -ExecStart=/usr/bin/afm-system-daemon -Restart=on-failure -RestartSec=5 -CapabilityBoundingSet=CAP_DAC_OVERRIDE CAP_MAC_OVERRIDE - -[Install] -WantedBy=multi-user.target - diff --git a/conf/afm-system-daemon.service.in b/conf/afm-system-daemon.service.in new file mode 100644 index 0000000..77e1f1b --- /dev/null +++ b/conf/afm-system-daemon.service.in @@ -0,0 +1,15 @@ +[Unit] +Description=Application Framework Master, system side + +[Service] +BusName=org.AGL.afm.system +User=afm +Group=afm +ExecStart=/usr/bin/afm-system-daemon +Restart=on-failure +RestartSec=5 +CapabilityBoundingSet=CAP_DAC_OVERRIDE CAP_MAC_OVERRIDE + +[Install] +WantedBy=multi-user.target + diff --git a/conf/afm-unit.conf b/conf/afm-unit.conf deleted file mode 100644 index 6712424..0000000 --- a/conf/afm-unit.conf +++ /dev/null @@ -1,282 +0,0 @@ -;--------------------------------------------------------------------------------- -; File: -; -; afm-unit.conf -; -; Role: -; -; Configure how installation of widget produces unit files for systemd -; -; Processing and format: -; -; 1. File load -; -; Lines beginning with ; are firstly removed -; -; 2. File instanciation -; -; Mustache (extended) substitutions are applied using JSON -; data deduced from config.xml file of the widget. -; -; 3. Extraction of units -; -; Extract produced units, pack it (remove empty lines and directives) -; -; Directives: -; -; Any directive occupy one whole line starting with % -; -; - %nl -; -; produce an empty line at the end -; -; - %begin systemd-unit -; - %end systemd-unit -; -; delimit the produced unit -; -; - %systemd-unit user -; - %systemd-unit system -; -; tells the kind of unit (user/system) -; -; - %systemd-unit service NAME -; - %systemd-unit socket NAME -; -; gives the name and type of the unit -; -; - %systemd-unit wanted-by NAME -; -; tells to install a link to unit in the wants of NAME -; -; Setting variables: -; -; AFM uses the feature of systemd that completely ignores options prefixed -; with X- -; -; Consequently, options starting with X-AFM- are recorded as public data -; about the application and options starting starting with X-AFM-- are -; recorded as private data. -; -; Examples: -; -; X-AFM-description={{description}} -; -; Records the descritpion of the unit in the field "description" -; of both the public and private object describing the unit. -; -; X-AFM--wgtdir={{:#metadata.install-dir}} -; -; Records the installation directory path in the field "wgtdir" -; of the private object only. -; -;--------------------------------------------------------------------------------- -{{#targets}} - -;--------------------------------------------------------------------------------- -;---- P R O V I D E D U N I T S ---- -;--------------------------------------------------------------------------------- -%begin systemd-unit - -# auto generated by wgtpkg-unit for {{id}} version {{version}} target {{:#target}} of {{idaver}} -%nl - -[Unit] -Description={{description}} -X-AFM-description={{description}} -X-AFM-name={{name.content}} -X-AFM-shortname={{name.short}} -X-AFM-id={{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}} -X-AFM-version={{version}} -X-AFM-author={{author.content}} -X-AFM-author-email={{author.email}} -X-AFM-width={{width}} -X-AFM-height={{height}} -X-AFM--ID={{id}} -X-AFM--target-name={{:#target}} -X-AFM--content={{content.src}} -X-AFM--type={{content.type}} -X-AFM--wgtdir={{:#metadata.install-dir}} -X-AFM--workdir={{&#metadata.app-data-dir}}/{{id}} -%nl - -# Adds check to smack -ConditionSecurity=smack -%nl - -# Automatic bound to required api -{{#required-api}} -{{#value=auto|ws}} -BindsTo=afm-api-ws-{{name}} -After=afm-api-ws-{{name}} -{{/value=auto|ws}} -{{/required-api}} -%nl - -[Service] -SmackProcessLabel=User::App::{{id}} -SuccessExitStatus=0 SIGKILL - -{{#required-permission}} - {{#urn:AGL:permission::platform:no-oom}} OOMScoreAdjust=-500 {{/urn:AGL:permission::platform:no-oom}} - {{#urn:AGL:permission::partner:real-time}} IOSchedulingClass=realtime {{/urn:AGL:permission::partner:real-time}} -# {{^urn:AGL:permission::partner:real-time}} RestrictRealtime=on {{/urn:AGL:permission::partner:real-time}} - {{#urn:AGL:permission::public:display}} SupplementaryGroups=display {{/urn:AGL:permission::public:display}} - {{^urn:AGL:permission::public:syscall:clock}} SystemCallFilter=~@clock {{/urn:AGL:permission::public:syscall:clock}} -{{/required-permission}} -%nl - -WorkingDirectory=-{{&#metadata.app-data-dir}}/{{id}} -ExecStartPre=/bin/mkdir -p {{&#metadata.app-data-dir}}/{{id}} -Environment=AFM_APP_INSTALL_DIR={{:#metadata.install-dir}} - -%systemd-unit user -{{#required-permission.urn:AGL:permission::public:hidden}}\ -%systemd-unit service afm-service-{{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}} -{{/required-permission.urn:AGL:permission::public:hidden}}\ -{{^required-permission.urn:AGL:permission::public:hidden}}\ -%systemd-unit service afm-appli-{{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}} -{{/required-permission.urn:AGL:permission::public:hidden}}\ - -;--------------------------------------------------------------------------------- -;---- text/html application/vnd.agl.native application/vnd.agl.service ---- -;--------------------------------------------------------------------------------- -{{#content.type=text/html|application/vnd.agl.native|application/vnd.agl.service}} - -{{^content.type=application/vnd.agl.service}} -X-AFM--http-port={{:#metadata.http-port}} -{{/content.type=application/vnd.agl.service}} - -ExecStart=/usr/bin/afb-daemon \ - {{^content.type=application/vnd.agl.service}}\ - --port={{:#metadata.http-port}} \ - --random-token \ - {{/content.type=application/vnd.agl.service}}\ - --rootdir={{:#metadata.install-dir}} \ - --workdir={{&#metadata.app-data-dir}}/{{id}} \ - {{#required-permission.urn:AGL:permission::public:no-htdocs}}\ - --roothttp=. \ - {{/required-permission.urn:AGL:permission::public:no-htdocs}}\ - {{^required-permission.urn:AGL:permission::public:no-htdocs}}\ - --roothttp=htdocs \ - {{/required-permission.urn:AGL:permission::public:no-htdocs}}\ - {{#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-client=unix:%t/apis/ws/{{name}} \ - {{/value=auto}}\ - {{#value=ws}}\ - --ws-client=unix:%t/apis/ws/{{name}} \ - {{/value=ws}}\ - {{#value=dbus}}\ - --dbus-client={{name}} \ - {{/value=dbus}}\ - {{#value=link}}\ - --binding=%t/apis/lib/{{name}} \ - {{/value=link}}\ - {{#value=cloud}}\ - --cloud-client={{name}} \ - {{/value=cloud}}\ - {{#value=local}}\ - --binding={{:#metadata.install-dir}}/{{name}} \ - {{/value=local}}\ - {{/required-api}}\ - {{#provided-api}}\ - {{#value=auto}}\ - {{^required-permission.urn:AGL:permission::partner:service:no-ws}}\ - --ws-server=sd:{{name}} \ - {{/required-permission.urn:AGL:permission::partner:service:no-ws}}\ - {{^required-permission.urn:AGL:permission::partner:service:no-dbus}}\ - --dbus-server={{name}} \ - {{/required-permission.urn:AGL:permission::partner:service:no-dbus}}\ - {{/value=auto}}\ - {{#value=ws}}\ - --ws-server=sd:{{name}} \ - {{/value=ws}}\ - {{#value=dbus}}\ - --dbus-server={{name}} \ - {{/value=dbus}}\ - {{/provided-api}}\ - {{#content.type=text/html}}\ - --exec /usr/bin/web-runtime http://localhost:@p/{{content.src}}?token=@t - {{/content.type=text/html}}\ - {{#content.type=application/vnd.agl.native}}\ - --exec {{:#metadata.install-dir}}/{{content.src}} @p @t - {{/content.type=application/vnd.agl.native}}\ - {{#content.type=application/vnd.agl.service}}\ - --no-httpd - {{/content.type=application/vnd.agl.service}} - -{{/content.type=text/html|application/vnd.agl.native|application/vnd.agl.service}} - - -;--------------------------------------------------------------------------------- -;---- application/x-executable ---- -;--------------------------------------------------------------------------------- -{{#content.type=application/x-executable}} - -Environment=LD_LIBRARY_PATH=$ORIGIN/$LIB - -ExecStart={{:#metadata.install-dir}}/{{content.src}} - -{{/content.type=application/x-executable}} - -;--------------------------------------------------------------------------------- -; auto start -;--------------------------------------------------------------------------------- -{{#required-permission.urn:AGL:permission::system:run-by-default}} -{{^provided-api}} -%nl -[Install] -WantedBy=default.target -%systemd-unit wanted-by default.target -{{/provided-api}} -{{/required-permission.urn:AGL:permission::system:run-by-default}} - -%end systemd-unit - - -;--------------------------------------------------------------------------------- -;---- P R O V I D E D A P I S ---- -;--------------------------------------------------------------------------------- - -{{#provided-api}} -{{#value=ws|auto}} - -%begin systemd-unit - -# auto generated by wgtpkg-unit for {{id}} version {{version}} target {{:#target}} of {{idaver}} -# -%systemd-unit user -%systemd-unit socket afm-api-ws-{{name}} - -[Socket] -SmackLabel=* -ListenStream=%t/bindings/{{name}} -FileDescriptorName={{name}} - -{{#required-permission.urn:AGL:permission::public:hidden}}\ -Service=afm-service-{{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}} -{{/required-permission.urn:AGL:permission::public:hidden}}\ -{{^required-permission.urn:AGL:permission::public:hidden}}\ -Service=afm-appli-{{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}} -{{/required-permission.urn:AGL:permission::public:hidden}}\ - -;--------------------------------------------------------------------------------- -{{#required-permission.urn:AGL:permission::system:run-by-default}} -%nl -[Install] -WantedBy=default.target -%systemd-unit wanted-by default.target -{{/required-permission.urn:AGL:permission::system:run-by-default}} -;--------------------------------------------------------------------------------- - -%end systemd-unit - -{{/value=ws|auto}} -{{/provided-api}} - -{{/targets}} - diff --git a/conf/afm-unit.conf.in b/conf/afm-unit.conf.in new file mode 100644 index 0000000..fc0c006 --- /dev/null +++ b/conf/afm-unit.conf.in @@ -0,0 +1,283 @@ +;--------------------------------------------------------------------------------- +; File: +; +; afm-unit.conf +; +; Role: +; +; Configure how installation of widget produces unit files for systemd +; +; Processing and format: +; +; 1. File load +; +; Lines beginning with ; are firstly removed +; +; 2. File instanciation +; +; Mustache (extended) substitutions are applied using JSON +; data deduced from config.xml file of the widget. +; +; 3. Extraction of units +; +; Extract produced units, pack it (remove empty lines and directives) +; +; Directives: +; +; Any directive occupy one whole line starting with % +; +; - %nl +; +; produce an empty line at the end +; +; - %begin systemd-unit +; - %end systemd-unit +; +; delimit the produced unit +; +; - %systemd-unit user +; - %systemd-unit system +; +; tells the kind of unit (user/system) +; +; - %systemd-unit service NAME +; - %systemd-unit socket NAME +; +; gives the name and type of the unit +; +; - %systemd-unit wanted-by NAME +; +; tells to install a link to unit in the wants of NAME +; +; Setting variables: +; +; AFM uses the feature of systemd that completely ignores options prefixed +; with X- +; +; Consequently, options starting with X-AFM- are recorded as public data +; about the application and options starting starting with X-AFM-- are +; recorded as private data. +; +; Examples: +; +; X-AFM-description={{description}} +; +; Records the descritpion of the unit in the field "description" +; of both the public and private object describing the unit. +; +; X-AFM--wgtdir={{:#metadata.install-dir}} +; +; Records the installation directory path in the field "wgtdir" +; of the private object only. +; +;--------------------------------------------------------------------------------- +{{#targets}} + +;--------------------------------------------------------------------------------- +;---- P R O V I D E D U N I T S ---- +;--------------------------------------------------------------------------------- +%begin systemd-unit + +# auto generated by wgtpkg-unit for {{id}} version {{version}} target {{:#target}} of {{idaver}} +%nl + +[Unit] +Description={{description}} +X-AFM-description={{description}} +X-AFM-name={{name.content}} +X-AFM-shortname={{name.short}} +X-AFM-id={{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}} +X-AFM-version={{version}} +X-AFM-author={{author.content}} +X-AFM-author-email={{author.email}} +X-AFM-width={{width}} +X-AFM-height={{height}} +X-AFM--ID={{id}} +X-AFM--target-name={{:#target}} +X-AFM--content={{content.src}} +X-AFM--type={{content.type}} +X-AFM--wgtdir={{:#metadata.install-dir}} +X-AFM--workdir={{&#metadata.app-data-dir}}/{{id}} +%nl + +# Adds check to smack +ConditionSecurity=smack +%nl + +# Automatic bound to required api +{{#required-api}} +{{#value=auto|ws}} +BindsTo=afm-api-ws-{{name}} +After=afm-api-ws-{{name}} +{{/value=auto|ws}} +{{/required-api}} +%nl + +[Service] +EnvironmentFile=-@afm_confdir@/unit.env.d/* +SmackProcessLabel=User::App::{{id}} +SuccessExitStatus=0 SIGKILL + +{{#required-permission}} + {{#urn:AGL:permission::platform:no-oom}} OOMScoreAdjust=-500 {{/urn:AGL:permission::platform:no-oom}} + {{#urn:AGL:permission::partner:real-time}} IOSchedulingClass=realtime {{/urn:AGL:permission::partner:real-time}} +# {{^urn:AGL:permission::partner:real-time}} RestrictRealtime=on {{/urn:AGL:permission::partner:real-time}} + {{#urn:AGL:permission::public:display}} SupplementaryGroups=display {{/urn:AGL:permission::public:display}} + {{^urn:AGL:permission::public:syscall:clock}} SystemCallFilter=~@clock {{/urn:AGL:permission::public:syscall:clock}} +{{/required-permission}} +%nl + +WorkingDirectory=-{{&#metadata.app-data-dir}}/{{id}} +ExecStartPre=/bin/mkdir -p {{&#metadata.app-data-dir}}/{{id}} +Environment=AFM_APP_INSTALL_DIR={{:#metadata.install-dir}} + +%systemd-unit user +{{#required-permission.urn:AGL:permission::public:hidden}}\ +%systemd-unit service afm-service-{{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}} +{{/required-permission.urn:AGL:permission::public:hidden}}\ +{{^required-permission.urn:AGL:permission::public:hidden}}\ +%systemd-unit service afm-appli-{{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}} +{{/required-permission.urn:AGL:permission::public:hidden}}\ + +;--------------------------------------------------------------------------------- +;---- text/html application/vnd.agl.native application/vnd.agl.service ---- +;--------------------------------------------------------------------------------- +{{#content.type=text/html|application/vnd.agl.native|application/vnd.agl.service}} + +{{^content.type=application/vnd.agl.service}} +X-AFM--http-port={{:#metadata.http-port}} +{{/content.type=application/vnd.agl.service}} + +ExecStart=/usr/bin/afb-daemon \ + {{^content.type=application/vnd.agl.service}}\ + --port={{:#metadata.http-port}} \ + --random-token \ + {{/content.type=application/vnd.agl.service}}\ + --rootdir={{:#metadata.install-dir}} \ + --workdir={{&#metadata.app-data-dir}}/{{id}} \ + {{#required-permission.urn:AGL:permission::public:no-htdocs}}\ + --roothttp=. \ + {{/required-permission.urn:AGL:permission::public:no-htdocs}}\ + {{^required-permission.urn:AGL:permission::public:no-htdocs}}\ + --roothttp=htdocs \ + {{/required-permission.urn:AGL:permission::public:no-htdocs}}\ + {{#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-client=unix:%t/apis/ws/{{name}} \ + {{/value=auto}}\ + {{#value=ws}}\ + --ws-client=unix:%t/apis/ws/{{name}} \ + {{/value=ws}}\ + {{#value=dbus}}\ + --dbus-client={{name}} \ + {{/value=dbus}}\ + {{#value=link}}\ + --binding=%t/apis/lib/{{name}} \ + {{/value=link}}\ + {{#value=cloud}}\ + --cloud-client={{name}} \ + {{/value=cloud}}\ + {{#value=local}}\ + --binding={{:#metadata.install-dir}}/{{name}} \ + {{/value=local}}\ + {{/required-api}}\ + {{#provided-api}}\ + {{#value=auto}}\ + {{^required-permission.urn:AGL:permission::partner:service:no-ws}}\ + --ws-server=sd:{{name}} \ + {{/required-permission.urn:AGL:permission::partner:service:no-ws}}\ + {{^required-permission.urn:AGL:permission::partner:service:no-dbus}}\ + --dbus-server={{name}} \ + {{/required-permission.urn:AGL:permission::partner:service:no-dbus}}\ + {{/value=auto}}\ + {{#value=ws}}\ + --ws-server=sd:{{name}} \ + {{/value=ws}}\ + {{#value=dbus}}\ + --dbus-server={{name}} \ + {{/value=dbus}}\ + {{/provided-api}}\ + {{#content.type=text/html}}\ + --exec /usr/bin/web-runtime http://localhost:@p/{{content.src}}?token=@t + {{/content.type=text/html}}\ + {{#content.type=application/vnd.agl.native}}\ + --exec {{:#metadata.install-dir}}/{{content.src}} @p @t + {{/content.type=application/vnd.agl.native}}\ + {{#content.type=application/vnd.agl.service}}\ + --no-httpd + {{/content.type=application/vnd.agl.service}} + +{{/content.type=text/html|application/vnd.agl.native|application/vnd.agl.service}} + + +;--------------------------------------------------------------------------------- +;---- application/x-executable ---- +;--------------------------------------------------------------------------------- +{{#content.type=application/x-executable}} + +Environment=LD_LIBRARY_PATH=$ORIGIN/$LIB + +ExecStart={{:#metadata.install-dir}}/{{content.src}} + +{{/content.type=application/x-executable}} + +;--------------------------------------------------------------------------------- +; auto start +;--------------------------------------------------------------------------------- +{{#required-permission.urn:AGL:permission::system:run-by-default}} +{{^provided-api}} +%nl +[Install] +WantedBy=default.target +%systemd-unit wanted-by default.target +{{/provided-api}} +{{/required-permission.urn:AGL:permission::system:run-by-default}} + +%end systemd-unit + + +;--------------------------------------------------------------------------------- +;---- P R O V I D E D A P I S ---- +;--------------------------------------------------------------------------------- + +{{#provided-api}} +{{#value=ws|auto}} + +%begin systemd-unit + +# auto generated by wgtpkg-unit for {{id}} version {{version}} target {{:#target}} of {{idaver}} +# +%systemd-unit user +%systemd-unit socket afm-api-ws-{{name}} + +[Socket] +SmackLabel=* +ListenStream=%t/bindings/{{name}} +FileDescriptorName={{name}} + +{{#required-permission.urn:AGL:permission::public:hidden}}\ +Service=afm-service-{{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}} +{{/required-permission.urn:AGL:permission::public:hidden}}\ +{{^required-permission.urn:AGL:permission::public:hidden}}\ +Service=afm-appli-{{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}} +{{/required-permission.urn:AGL:permission::public:hidden}}\ + +;--------------------------------------------------------------------------------- +{{#required-permission.urn:AGL:permission::system:run-by-default}} +%nl +[Install] +WantedBy=default.target +%systemd-unit wanted-by default.target +{{/required-permission.urn:AGL:permission::system:run-by-default}} +;--------------------------------------------------------------------------------- + +%end systemd-unit + +{{/value=ws|auto}} +{{/provided-api}} + +{{/targets}} + diff --git a/conf/afm-user-daemon.service b/conf/afm-user-daemon.service deleted file mode 100644 index 6b5c1d8..0000000 --- a/conf/afm-user-daemon.service +++ /dev/null @@ -1,16 +0,0 @@ -[Unit] -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 -Environment=AFM_APP_INSTALL_DIR=%%r -Environment=LD_PRELOAD=/usr/lib/libEGL.so -Restart=on-failure -RestartSec=5 - - -[Install] -WantedBy=default.target - diff --git a/conf/afm-user-daemon.service.in b/conf/afm-user-daemon.service.in new file mode 100644 index 0000000..f536c82 --- /dev/null +++ b/conf/afm-user-daemon.service.in @@ -0,0 +1,16 @@ +[Unit] +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 +Environment=AFM_APP_INSTALL_DIR=%%r +EnvironmentFile=-@afm_confdir@/unit.env.d/* +Restart=on-failure +RestartSec=5 + + +[Install] +WantedBy=default.target + -- cgit 1.2.3-korg