summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMateusz Moscicki <m.moscicki2@partner.samsung.com>2019-04-24 11:47:16 +0200
committerMateusz Moscicki <m.moscicki2@partner.samsung.com>2019-04-24 11:56:13 +0200
commitb5a095eb6461b15799e6fdfcfcbef3cb74589248 (patch)
treec2ff5bb4f6e3eb28bf2a556ea91694bbe76f1a1c
parented800dfbd08411ff3538f5e634bee7e88bffb1b8 (diff)
downloademail-service-b5a095eb6461b15799e6fdfcfcbef3cb74589248.tar.gz
email-service-b5a095eb6461b15799e6fdfcfcbef3cb74589248.tar.bz2
email-service-b5a095eb6461b15799e6fdfcfcbef3cb74589248.zip
tizen: Add additional unit for "unified" user sessionsubmit/tizen/20190503.060044accepted/tizen/unified/20190503.110436
The unified user session is about moving user session units, managed by systemd --user, to main systemd, where it's managed as part of newly created user@.target. user@.target will contain same units as previously available in user/, with same UID and environment setup. systemd instance is used for unit to be able to specify UID (inherited from user@.target). The rationale behind this work is following: * VD requirement to remove user session support * boot time optimization requirements, due to: + 'systemd --user' taking 1s its own startup that could be used for unit startup + ability to better rearrange units if these managed by one systemd instance Unit installed by this commit will not be used till user login mechanism will be changed in systemd package (via changing pam_systemd to start user@.target, rather than user@.service). Change-Id: I560196bb043913376cf1e01c46476c6da8ab4488
-rwxr-xr-xpackaging/email-service.spec15
-rw-r--r--packaging/email-service@.service17
-rw-r--r--packaging/email-service@.socket13
3 files changed, 45 insertions, 0 deletions
diff --git a/packaging/email-service.spec b/packaging/email-service.spec
index 1e2039b..1947f0e 100755
--- a/packaging/email-service.spec
+++ b/packaging/email-service.spec
@@ -9,6 +9,8 @@ Source1: email-service.socket
Source2: email-service.manifest
Source3: email-service_init_db.sh
Source4: email-service.service
+Source5: email-service@.socket
+Source6: email-service@.service
Requires: connman
Requires: gmime
@@ -106,10 +108,19 @@ mkdir -p %{buildroot}%{_unitdir_user}/default.target.wants
install -m 0644 %{SOURCE4} %{buildroot}%{_unitdir_user}/email-service.service
ln -s ../email-service.service %{buildroot}%{_unitdir_user}/default.target.wants/email-service.service
+mkdir -p %{buildroot}%{_unitdir}
+mkdir -p %{buildroot}%{_unitdir}/user-default@.target.wants
+install -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/email-service@.service
+ln -s ../email-service@.service %{buildroot}%{_unitdir}/user-default@.target.wants/email-service@.service
+
mkdir -p %{buildroot}%{_unitdir_user}/sockets.target.wants
install -m 0644 %{SOURCE1} %{buildroot}%{_unitdir_user}/email-service.socket
ln -s ../email-service.socket %{buildroot}%{_unitdir_user}/sockets.target.wants/email-service.socket
+mkdir -p %{buildroot}%{_unitdir}/user-sockets@.target.wants
+install -m 0644 %{SOURCE5} %{buildroot}%{_unitdir}/email-service@.socket
+ln -s ../email-service@.socket %{buildroot}%{_unitdir}/user-sockets@.target.wants/email-service@.socket
+
install -m 0775 %{SOURCE3} %{buildroot}%{_bindir}/
%post -p /sbin/ldconfig
@@ -146,6 +157,10 @@ systemctl daemon-reload
%{_unitdir_user}/default.target.wants/email-service.service
%{_unitdir_user}/email-service.socket
%{_unitdir_user}/sockets.target.wants/email-service.socket
+%{_unitdir}/email-service@.service
+%{_unitdir}/user-default@.target.wants/email-service@.service
+%{_unitdir}/email-service@.socket
+%{_unitdir}/user-sockets@.target.wants/email-service@.socket
%{_datarootdir}/dbus-1/services/email-service.service
%license LICENSE
%license LICENSE.BSD
diff --git a/packaging/email-service@.service b/packaging/email-service@.service
new file mode 100644
index 0000000..1bae050
--- /dev/null
+++ b/packaging/email-service@.service
@@ -0,0 +1,17 @@
+[Unit]
+PartOf=userlogin@%i.target
+Description=Start the Email service
+
+[Service]
+User=%i
+Environment=DBUS_SESSION_BUS_ADDRESS=kernel:path=/sys/fs/kdbus/%i-user/bus;unix:path=/run/user/%i/bus
+Environment=XDG_RUNTIME_DIR=/run/user/%i
+SmackProcessLabel=User
+Capabilities=cap_chown+eip
+SecureBits=keep-caps
+ExecStart=/usr/bin/email-service
+Nice=5
+OOMScoreAdjust=100
+MemoryLimit=30M
+EnvironmentFile=-/run/tizen-system-env
+
diff --git a/packaging/email-service@.socket b/packaging/email-service@.socket
new file mode 100644
index 0000000..445496b
--- /dev/null
+++ b/packaging/email-service@.socket
@@ -0,0 +1,13 @@
+[Unit]
+PartOf=userlogin@%i.target
+DefaultDependencies=no
+After=systemd-logind.service
+Description=Email Service socket
+
+[Socket]
+SocketUser=%i
+ListenStream=/run/user/%i/.emailfw_socket
+Service=email-service@%i.service
+
+[Install]
+WantedBy=user-sockets@.target