X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=conf%2Funit%2Fafm-unit.conf.in;h=849782100be080f481e2d6895c83e4628cfea6db;hb=2b6e13bd5812dc1d7efe338a163f6dd253bbe15b;hp=9fa3794ea9a1d0f0457ec12406b86aea24ad7687;hpb=3d50d615fbd4322315dd66859d886576e208b36d;p=src%2Fapp-framework-main.git diff --git a/conf/unit/afm-unit.conf.in b/conf/unit/afm-unit.conf.in index 9fa3794..8497821 100644 --- a/conf/unit/afm-unit.conf.in +++ b/conf/unit/afm-unit.conf.in @@ -107,20 +107,27 @@ X-AFM--workdir=/home/%i/app-data/{{:id}} %nl Requires=afm-user-session@%i.target After=user@%i.service +After=Network.target # Adds check to smack ConditionSecurity=smack %nl # Automatic bound to required api +{{#required-binding}} +{{#value=extern}} +BindsTo=afm-link-{{name}}@%i.service +After=afm-link-{{name}}@%i.service +{{/value=extern}} +{{/required-binding}} {{#required-api}} {{#value=auto|ws}} -BindsTo=afm-api-ws-{{name}}@%i.socket -After=afm-api-ws-{{name}}@%i.socket +BindsTo=afm-api-{{name}}@%i.service +After=afm-api-{{name}}@%i.service {{/value=auto|ws}} {{/required-api}} {{#provided-api}} {{#value=ws|auto}} -Requires=afm-api-ws-{{name}}@%i.socket -After=afm-api-ws-{{name}}@%i.socket +Requires=afm-api-{{name}}@%i.socket +After=afm-api-{{name}}@%i.socket {{/value=ws|auto}} {{/provided-api}} %nl @@ -139,7 +146,10 @@ Slice=user-%i.slice %nl WorkingDirectory=-/home/%i/app-data/{{:id}} ExecStartPre=/bin/mkdir -p /home/%i/app-data/{{:id}} +Environment=AFM_ID={{idaver}}{{^#target=main}}@{{:#target}}{{/#target=main}} Environment=AFM_APP_INSTALL_DIR={{:#metadata.install-dir}} +Environment=AFM_WORKDIR=/home/%i/app-data/{{:id}} +Environment=AFM_WSAPI_DIR=@afm_users_rundir@/%i/apis/ws Environment=PATH=/usr/sbin:/usr/bin:/sbin:/bin:{{:#metadata.install-dir}}/bin Environment=LD_LIBRARY_PATH={{:#metadata.install-dir}}/lib Environment=XDG_DATA_HOME=/home/%i/app-data/{{:id}} @@ -173,14 +183,20 @@ ExecStart=/usr/bin/afb-daemon \ {{#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:@afm_users_rundir@/%i/apis/ws/{{name}}{{/value=auto|ws}} \ + {{#value=autoapi}}--auto-api=@afm_users_rundir@/%i/apis/ws{{/value=autoapi}} \ {{#value=dbus}}--dbus-client={{name}}{{/value=dbus}} \ - {{#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}} \ + {{#value=tcp}}--ws-client=tcp:{{name}}{{/value=tcp}} \ {{/required-api}} \ + {{#required-binding}} \ + {{#value=local}}--binding={{:#metadata.install-dir}}/{{name}}{{/value=local}} \ + {{#value=extern}}--binding=@afm_users_rundir@/%i/apis/link/{{name}}{{/value=extern}} \ + {{/required-binding}} \ {{#provided-api}} \ {{#value=auto|ws}}--ws-server=sd:{{name}}{{/value=auto|ws}} \ {{#value=dbus}}--dbus-server={{name}}{{/value=dbus}} \ + {{#value=tcp}}--ws-server=tcp:{{name}}{{/value=tcp}} \ {{/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}} @@ -200,33 +216,77 @@ WantedBy=afm-user-session@.target %systemd-unit wanted-by afm-user-session@.target {{/required-permission.urn:AGL:permission::system:run-by-default}} %end systemd-unit -;--------------------------------------------------------------------------------- -;---- P R O V I D E D A P I S ---- -;--------------------------------------------------------------------------------- +;------------------------------------------------------------------------------- +;---- P R O V I D E D A P I S ---- +;------------------------------------------------------------------------------- {{#provided-api}} {{#value=ws|auto}} +;------------------------------------------------------------------------------- +;---- T H E S E R V I C E O F T H E A P I ---- +;------------------------------------------------------------------------------- %begin systemd-unit # auto generated by wgtpkg-unit for {{:id}} version {{:version}} target {{:#target}} of {{:idaver}} %systemd-unit system -%systemd-unit socket afm-api-ws-{{name}}@ +%systemd-unit service afm-api-{{name}}@ [Unit] Description=Provides api {{name}} for user %i -After=user@%i.service +X-AFM-API-TYPE={{value}} +Requires=afm-user-setup@%i.service +After=afm-user-setup@%i.service +{{#value=ws|auto}} +Requires=afm-api-{{name}}@%i.socket +After=afm-api-{{name}}@%i.socket +{{/value=ws|auto}} +[Service] +Type=oneshot +RemainAfterExit=yes +{{#value=ws|auto}} +ExecStart=/bin/true +{{/value=ws|auto}} +%end systemd-unit +;------------------------------------------------------------------------------- +;---- T H E S O C K E T O F T H E A P I ---- +;------------------------------------------------------------------------------- +%begin systemd-unit +# auto generated by wgtpkg-unit for {{:id}} version {{:version}} target {{:#target}} of {{:idaver}} +%systemd-unit system +%systemd-unit socket afm-api-{{name}}@ +[Unit] +Description=Provides websocket api {{name}} for user %i +Requires=afm-user-setup@%i.service +After=afm-user-setup@%i.service DefaultDependencies=no [Socket] SmackLabel=* -SmackLabelIPIn=* -SmackLabelIPOut=* +SmackLabelIPIn=System +SmackLabelIPOut=System 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 -[Install] -WantedBy=afm-user-session@.target -%systemd-unit wanted-by afm-user-session@.target %end systemd-unit {{/value=ws|auto}} {{/provided-api}} +;------------------------------------------------------------------------------- +;---- P R O V I D E D B I N D I N G ---- +;------------------------------------------------------------------------------- +{{#provided-binding}} +;------------------------------------------------------------------------------- +;---- T H E S E R V I C E O F T H E B I N D I N G ---- +;------------------------------------------------------------------------------- +%begin systemd-unit +# auto generated by wgtpkg-unit for {{:id}} version {{:version}} target {{:#target}} of {{:idaver}} +%systemd-unit system +%systemd-unit service afm-link-{{name}}@ +[Unit] +Description=Provides binding {{name}} for user %i +Requires=afm-user-setup@%i.service +After=afm-user-setup@%i.service +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/bin/ln -sf {{:#metadata.install-dir}}/{{value}} @afm_users_rundir@/%i/apis/link/{{name}} +%end systemd-unit +{{/provided-binding}} {{/targets}} ;--------------------------------------------------------------------------------- ; End of file afm-unit.conf mode RELEASE