--- /dev/null
+#!/bin/bash
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+
+# /etc/systemd/delayed-target.conf does not exist
+if [ -z "$DelayedTargetWait" ]
+then
+ echo "Start delayed.target without any delay."
+ exit 0;
+fi
+
+echo "Wait $DelayedTargetWait seconds for delayed.target to start."
+
+index=0
+while [ $index -lt "$DelayedTargetWait" ]
+do
+ if [ -f /tmp/.systemd_delayed_target_wait ]
+ then
+ rm -f /tmp/.systemd_delayed_target_wait
+ break;
+ fi
+
+ ((index++))
+
+ sleep 1
+done
+
+echo "Start delayed.target after $index seconds delay."
+
+exit 0;
Source7: sysctl-tizen-override.conf
Source8: send-booting-done.c
Source9: wait-target-done.c
+Source10: delayed-target-trigger.sh
Source1001: systemd.manifest
BuildRequires: gperf
BuildRequires: intltool >= 0.40.0
install -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/wait-default-target.sh
install -m 0755 %{SOURCE5} %{buildroot}%{_bindir}/wait-delayed-target.sh
install -m 0644 %{SOURCE6} %{buildroot}%{dbuspolicydir}/system.d/org.tizen.system.conf
+install -m 0755 %{SOURCE10} %{buildroot}%{_bindir}/delayed-target-trigger.sh
# Tizen sysctl values overriding default systemd values
install -m 0644 %{SOURCE7} %{buildroot}%{_sysconfdir}/sysctl.d/
%{_bindir}/wait-default-target.sh
%{_bindir}/wait-delayed-target.sh
+%{_bindir}/delayed-target-trigger.sh
%exclude %{_prefix}/lib/systemd/system/runlevel0.target
%exclude %{_prefix}/lib/systemd/system/runlevel1.target
%exclude %{_prefix}/lib/systemd/system/runlevel2.target
# At least one service must remain, and systemd will not enter the Startupfinished state.
# So this unit, which is oneshot type, becomes that one service.
Type=oneshot
+EnvironmentFile=-/etc/systemd/delayed-target.conf
ExecStart=@rootbindir@/wait-default-target.sh System
+ExecStart=@rootbindir@/delayed-target-trigger.sh
ExecStart=@rootbindir@/systemctl --no-block start delayed.target
RemainAfterExit=yes
SmackProcessLabel=System