diff --git a/mms-engine/dbus-org.nemomobile.MmsEngine.service b/mms-engine/dbus-org.nemomobile.MmsEngine.service deleted file mode 100644 index c11bf4f..0000000 --- a/mms-engine/dbus-org.nemomobile.MmsEngine.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=MMS engine service - -[Service] -Type=dbus -BusName=org.nemomobile.MmsEngine -ExecStart=/usr/sbin/mms-engine -o syslog -User=radio -Group=radio -SupplementaryGroups=privileged inet diff --git a/mms-engine/mms-engine.privileges b/mms-engine/mms-engine.privileges new file mode 100644 index 0000000..d0d8203 --- /dev/null +++ b/mms-engine/mms-engine.privileges @@ -0,0 +1 @@ +/usr/sbin/mms-engine, diff --git a/mms-engine/mms-engine.pro b/mms-engine/mms-engine.pro index 900b015..80457ce 100644 --- a/mms-engine/mms-engine.pro +++ b/mms-engine/mms-engine.pro @@ -41,10 +41,10 @@ HEADERS += \ mms_log.h \ mms_version.h OTHER_FILES += \ + mms-engine.service \ org.nemomobile.MmsEngine.push.conf \ org.nemomobile.MmsEngine.dbus.conf \ org.nemomobile.MmsEngine.service \ - dbus-org.nemomobile.MmsEngine.service \ org.nemomobile.MmsEngine.xml CONFIG(debug, debug|release) { diff --git a/mms-engine/mms-engine.service b/mms-engine/mms-engine.service new file mode 100644 index 0000000..2c7a90b --- /dev/null +++ b/mms-engine/mms-engine.service @@ -0,0 +1,5 @@ +[Unit] +Description=MMS engine service + +[Service] +ExecStart=/usr/bin/invoker --type=generic /usr/sbin/mms-engine -o syslog diff --git a/mms-engine/org.nemomobile.MmsEngine.service b/mms-engine/org.nemomobile.MmsEngine.service index 99857f4..442d6ee 100644 --- a/mms-engine/org.nemomobile.MmsEngine.service +++ b/mms-engine/org.nemomobile.MmsEngine.service @@ -1,7 +1,5 @@ # Goes to /usr/share/dbus-1/system-services [D-BUS Service] Name=org.nemomobile.MmsEngine -Exec=/bin/false -User=nemo -SystemdService=dbus-org.nemomobile.MmsEngine.service - +Exec=/usr/bin/systemctl-user start mms-engine +User=root diff --git a/rpm/mms-engine.spec b/rpm/mms-engine.spec index 9e1e6d3..bdad011 100644 --- a/rpm/mms-engine.spec +++ b/rpm/mms-engine.spec @@ -17,6 +17,8 @@ Source0: %{name}-%{version}.tar.bz2 Requires: dbus Requires: ofono +Requires: systemd +Requires: mapplauncherd Requires: glib2 >= %{glib_version} Requires: libsoup >= %{libsoup_version} Requires: libwspcodec >= %{libwspcodec_version} @@ -50,6 +52,9 @@ BuildRequires: pkgconfig(Qt5Gui) %define exe mms-engine %define schema org.nemomobile.mms.sim %define dbusname org.nemomobile.MmsEngine +%define userservice mms-engine +%define privilegesfile mms-engine.privileges +%define privilegesdir %{_datadir}/mapplauncherd/privileges.d %define dbusconfig %{_datadir}/dbus-1/system-services %define dbuspolicy %{_sysconfdir}/dbus-1/system.d %define glibschemas %{_datadir}/glib-2.0/schemas @@ -77,21 +82,24 @@ make -C mms-send KEEP_SYMBOLS=1 release %install rm -rf %{buildroot} -mkdir -p %{buildroot}%{_sbindir} -mkdir -p %{buildroot}%{_unitdir} -mkdir -p %{buildroot}%{dbusconfig} -mkdir -p %{buildroot}%{dbuspolicy} -mkdir -p %{buildroot}%{pushconfig} -mkdir -p %{buildroot}%{glibschemas} -mkdir -p %{buildroot}%{_prefix}/bin/ -cp %{src}/build/release/%{exe} %{buildroot}%{_sbindir}/ -cp %{src}/dbus-%{dbusname}.service %{buildroot}%{_unitdir}/ -cp %{src}/%{dbusname}.service %{buildroot}%{dbusconfig}/ -cp %{src}/%{dbusname}.dbus.conf %{buildroot}%{dbuspolicy}/%{dbusname}.conf -cp %{src}/%{dbusname}.push.conf %{buildroot}%{pushconfig}/%{dbusname}.conf -cp mms-settings-dconf/spec/%{schema}.gschema.xml %{buildroot}%{glibschemas}/ -cp mms-dump/build/release/mms-dump %{buildroot}%{_prefix}/bin/ -cp mms-send/build/release/mms-send %{buildroot}%{_prefix}/bin/ +install -d %{buildroot}%{_bindir} +install -d %{buildroot}%{_sbindir} +install -d %{buildroot}%{_unitdir} +install -d %{buildroot}%{_userunitdir} +install -d %{buildroot}%{dbusconfig} +install -d %{buildroot}%{dbuspolicy} +install -d %{buildroot}%{pushconfig} +install -d %{buildroot}%{glibschemas} +install -d %{buildroot}%{privilegesdir} +install -m 755 %{src}/build/release/%{exe} %{buildroot}%{_sbindir}/ +install -m 644 %{src}/%{userservice}.service %{buildroot}%{_userunitdir}/ +install -m 644 %{src}/%{dbusname}.service %{buildroot}%{dbusconfig}/ +install -m 644 %{src}/%{dbusname}.dbus.conf %{buildroot}%{dbuspolicy}/%{dbusname}.conf +install -m 644 %{src}/%{dbusname}.push.conf %{buildroot}%{pushconfig}/%{dbusname}.conf +install -m 644 %{src}/%{privilegesfile} %{buildroot}%{privilegesdir} +install -m 644 mms-settings-dconf/spec/%{schema}.gschema.xml %{buildroot}%{glibschemas}/ +install -m 755 mms-dump/build/release/mms-dump %{buildroot}%{_bindir} +install -m 755 mms-send/build/release/mms-send %{buildroot}%{_bindir} %post glib-compile-schemas %{glibschemas} @@ -107,11 +115,12 @@ make -C mms-lib/test test %config %{glibschemas}/%{schema}.gschema.xml %config %{dbuspolicy}/%{dbusname}.conf %config %{pushconfig}/%{dbusname}.conf +%{privilegesdir}/%{privilegesfile} %{dbusconfig}/%{dbusname}.service -%{_unitdir}/dbus-%{dbusname}.service +%{_userunitdir}/%{userservice}.service %{_sbindir}/%{exe} %files tools %defattr(-,root,root,-) -%{_prefix}/bin/mms-dump -%{_prefix}/bin/mms-send +%{_bindir}/mms-dump +%{_bindir}/mms-send