--- /dev/null
+<manifest>
+ <request>
+ <domain name="_"/>
+ </request>
+</manifest>
--- /dev/null
+Name: tizen-middleware-units
+Version: 1
+Release: 0
+Summary: Tizen middleware target units
+Group: Automotive/Hardware Adaption
+License: GPL-2.0
+BuildArch: noarch
+Source0: %{name}-%{version}.tar.gz
+Source1001: tizen-middleware-units.manifest
+
+%description
+Tizen middleware target units creates a systemd target for all
+tizen specific middleware (both system and user services).
+
+%prep
+%setup -q
+cp %{SOURCE1001} .
+
+%build
+#nothing to do
+
+%install
+mkdir -p %{buildroot}/%{_unitdir}
+mkdir -p %{buildroot}/%{_unitdir_user}
+
+install -m 644 units/system/* %{buildroot}/%{_unitdir}
+install -m 644 units/user/* %{buildroot}/%{_unitdir_user}
+
+%post
+systemctl enable tizen-user-services-path-trigger.service
+systemctl enable tizen-middleware.timer
+systemctl --global enable tizen-user-middleware-services.path
+systemctl daemon-reload
+
+%postun
+systemctl daemon-reload
+
+%files
+%manifest %{name}.manifest
+%{_unitdir}/*
+%{_unitdir_user}/*
--- /dev/null
+[Unit]
+Description=Tizen system middleware services
+Conflicts=rescue.service rescue.target
+Requires=multi-user.target
+After=multi-user.target
--- /dev/null
+# A .timer service to delay tizen-middleware.target startup
+#
+# FIXME: trigger startup from an event
+
+[Unit]
+Description=Start Tizen system middleware services target
+
+[Timer]
+OnActiveSec=1s 500ms
+AccuracySec=500ms
+Unit=tizen-middleware.target
+
+[Install]
+WantedBy=multi-user.target
--- /dev/null
+[Unit]
+Description=Tizen user services path trigger
+Conflicts=shutdown.target
+Before=shutdown.target
+After=multi-user.target
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/touch /tmp/fastboot
+
+[Install]
+WantedBy=tizen-middleware.target
--- /dev/null
+[Unit]
+Description=Path activation for tizen user middleware services
+
+[Path]
+PathExists=/tmp/fastboot
+
+[Install]
+WantedBy=default.target
--- /dev/null
+[Unit]
+Description=Tizen user middleware services
+
+[Service]
+Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/%U/dbus/user_bus_socket
+ExecStartPre=/usr/bin/sleep 0.5
+ExecStart=/usr/bin/systemctl start --user tizen-user-middleware.target
--- /dev/null
+[Unit]
+Description=Tizen user middleware target
+After=default.target
+Requires=default.target