Change systemd service file for multi-user.target 82/297782/1
authorJihoon Jung <jh8801.jung@samsung.com>
Thu, 24 Aug 2023 07:11:53 +0000 (16:11 +0900)
committerJihoon Jung <jh8801.jung@samsung.com>
Thu, 24 Aug 2023 07:11:53 +0000 (16:11 +0900)
Change-Id: Ic46d22f91a0d20441e9aa6f565c3d4fe5bbd04f7
Signed-off-by: Jihoon Jung <jh8801.jung@samsung.com>
packaging/mtp-initiator.service
packaging/mtp-initiator.spec
src/daemon/mtp_daemon.c

index bb93ef3a5ce15b1e02463f7780d39c330974e9e8..b95953eab0f16ba1d569e2ad54bf33eab2693263 100755 (executable)
@@ -10,3 +10,6 @@ SmackProcessLabel=System
 SupplementaryGroups=priv_mediastorage priv_externalstorage
 ExecStart=/usr/bin/mtp-initiator
 KillMode=process
+
+[Install]
+WantedBy=multi-user.target
index c74944ebed86984e955b0927df8b46147ead6e31..64f12f16274476a5e9284ef1968f352976ab65ea 100644 (file)
@@ -1,6 +1,6 @@
 Name:       mtp-initiator
 Summary:    mtp(media transfer protocol) initiator
-Version:    1.4.33
+Version:    1.4.34
 Release:    0
 Group:      Network & Connectivity/Other
 License:    Apache-2.0
@@ -93,12 +93,16 @@ cp -af ./lib/udev/rules.d/*.rules  %{buildroot}/%{_prefix}/lib/udev/rules.d/
 
 install -D -m 0644 packaging/mtp-initiator.service %{buildroot}/%{_unitdir}/mtp-initiator.service
 
+mkdir -p %{buildroot}/%{_unitdir}/multi-user.target.wants
+ln -s ../%{name}.service %{buildroot}/%{_unitdir}/multi-user.target.wants/mtp-initiator.service
+
 %files
 %manifest %{name}.manifest
 %license LICENSE.APLv2
 %defattr(-,root,root,-)
 %{_bindir}/mtp-initiator
 %{_unitdir}/mtp-initiator.service
+%{_unitdir}/multi-user.target.wants/mtp-initiator.service
 %{_prefix}/lib/udev/rules.d/99-mtp.rules
 %config %{_sysconfdir}/dbus-1/system.d/org.tizen.mtp.conf
 %if 0%{?gtests:1}
index 8258de004e8016ed0a279b4dc9064a6424bd84cf..1a898e27fee13f6d6749d2f8b683b1daaf4321bc 100644 (file)
@@ -137,6 +137,18 @@ static void __mtp_signal_handler(int signo)
        return;
 }
 
+static bool __exists_mtp_devices(void)
+{
+       LIBMTP_raw_device_t *devices;
+       int num_of_devices = 0;
+
+       LIBMTP_Init();
+       LIBMTP_Detect_Raw_Devices(&devices, &num_of_devices);
+       free(devices);
+
+       return num_of_devices > 0 ? true : false;
+}
+
 int main(int argc, char *argv[])
 {
        mtp_context *mtp_ctx = NULL;
@@ -145,6 +157,11 @@ int main(int argc, char *argv[])
 
        MTP_LOGE("mtp initiator start");
 
+       if (__exists_mtp_devices() == false) {
+               MTP_LOGE("There are not mtp devices");
+               return 0;
+       }
+
        remove(MTP_DB_FILE);
 
        /* 1. signal registration */