mkdir -p %{buildroot}%{_unitdir}/user@.service.d
install -m 644 units/session-utils.conf %{buildroot}%{_unitdir}/user@.service.d/
+mkdir -p %{buildroot}%{_userunitdir}/basic.target.wants
+install -m 644 units/bind-user-contents.service %{buildroot}%{_userunitdir}/
+ln -sf ../bind-user-contents.service %{buildroot}%{_userunitdir}/basic.target.wants/bind-user-contents.service
+
%files
%license LICENSE.Apache-2.0
%manifest session-utils.manifest
%{_bindir}/systemd-user-helper
%{_unitdir}/user@.service.d/session-utils.conf
+%{_userunitdir}/bind-user-contents.service
+%{_userunitdir}/basic.target.wants/bind-user-contents.service
%post
# How to test session-utils rpms
return stop_process(username);
else if (strcmp(operation, "start") == 0)
; /* do main code */
+ else if (strcmp(operation, "bind-user-contents") == 0)
+ return normal_user_postprocess(username);
else {
fprintf(stderr, "option is invalid(%s)\n", operation);
return -2;
/* sync-style since there is no need to process other signal */
wait_condition();
- /* post-processing */
- r = normal_user_postprocess(username);
- if (r < 0) {
- fprintf(stderr, "normal user postprocess failed\n");
- return r;
- }
-
if (support_container) {
r = container_postprocess(username);
if (r < 0) {
--- /dev/null
+[Unit]
+Description=Bind Mount user contents
+DefaultDependencies=no
+Wants=wait-mount@opt-usr.service
+After=wait-mount@opt-usr.service
+Before=basic.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/bin/systemd-user-helper bind-user-contents %u