/
0004-Introduce-mount-sd-service-that-is-executed-as-nemo.patch
61 lines (55 loc) · 2.33 KB
/
0004-Introduce-mount-sd-service-that-is-executed-as-nemo.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
From 34b034aefe6a1f1954402ba68da61d4e3385f736 Mon Sep 17 00:00:00 2001
From: Raine Makelainen <raine.makelainen@jolla.com>
Date: Tue, 6 Feb 2018 14:08:59 +0200
Subject: [PATCH 4/9] Introduce mount-sd service that is executed as nemo
Signed-off-by: Raine Makelainen <raine.makelainen@jolla.com>
---
data/80-udisks2.rules | 3 +++
data/Makefile.am | 2 +-
data/mount-sd@.service | 12 ++++++++++++
3 files changed, 16 insertions(+), 1 deletion(-)
create mode 100644 data/mount-sd@.service
diff --git a/data/80-udisks2.rules b/data/80-udisks2.rules
index cc81484e..2e6ed158 100644
--- a/data/80-udisks2.rules
+++ b/data/80-udisks2.rules
@@ -41,6 +41,9 @@ ENV{ID_VENDOR}=="*IOMEGA*", ENV{ID_MODEL}=="*ZIP*", ENV{ID_DRIVE_FLOPPY_ZIP}="1"
# TODO: figure out if the drive supports SD and SDHC and what the current
# kind of media is - right now we just assume SD
KERNEL=="mmcblk[0-9]", SUBSYSTEMS=="mmc", ENV{DEVTYPE}=="disk", ENV{ID_DRIVE_FLASH_SD}="1", ENV{ID_DRIVE_MEDIA_FLASH_SD}="1"
+KERNEL=="mmcblk1*", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", ENV{ID_DRIVE_FLASH_SD}="1", ENV{ID_DRIVE_MEDIA_FLASH_SD}="1"
+KERNEL=="mmcblk1*", SUBSYSTEM=="block", ACTION=="add", MODE="0660", TAG+="systemd", ENV{SYSTEMD_WANTS}="mount-sd@%k.service"
+
# ditto for memstick
KERNEL=="msblk[0-9]|mspblk[0-9]", SUBSYSTEMS=="memstick", ENV{DEVTYPE}=="disk", ENV{ID_DRIVE_FLASH_MS}="1", ENV{ID_DRIVE_MEDIA_FLASH_MS}="1"
diff --git a/data/Makefile.am b/data/Makefile.am
index ddf9e3d6..4c77ee56 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -15,7 +15,7 @@ dbusconf_DATA = $(dbusconf_in_files:.conf.in=.conf)
$(dbusconf_DATA): $(dbusconf_in_files) Makefile
cp $< $@
-systemdservice_in_files = udisks2.service.in clean-mount-point@.service
+systemdservice_in_files = udisks2.service.in clean-mount-point@.service mount-sd@.service
if HAVE_SYSTEMD
systemdservicedir = $(systemdsystemunitdir)
diff --git a/data/mount-sd@.service b/data/mount-sd@.service
new file mode 100644
index 00000000..a981e303
--- /dev/null
+++ b/data/mount-sd@.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Handle udisks sd mount
+After=dev-%i.device
+BindsTo=dev-%i.device
+Conflicts=rescue.target actdead.target factory-test.target
+
+[Service]
+User=nemo
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/bin/udisksctl mount -b /dev/%i
+ExecStop=-/usr/bin/udisksctl unmount -b /dev/%i
--
2.17.1