summaryrefslogtreecommitdiff
path: root/monitor
diff options
context:
space:
mode:
authorIñigo Martínez <inigomartinez@gmail.com>2018-12-17 15:34:58 +0100
committerIñigo Martínez <inigomartinez@gmail.com>2019-01-21 21:18:06 +0100
commit65d651e45edd9f3746dd210da4709206bed6c7e7 (patch)
tree1905d6e4b0d6bce14dc05362f93ee00059bb8219 /monitor
parent1d503ea41e31b866fa16b788ab25049d80bd6278 (diff)
downloadgvfs-65d651e45edd9f3746dd210da4709206bed6c7e7.tar.gz
build: Make monitors build commands common
All the available monitors install a set of files: volume monitor files, DBus service files, etc... These build commands are mostly common and only file names change, which are built using a given pattern. These build commands have been replaced by only one set of build commands that adapt to monitors needs by changing their name and simplifies the entire process. These changes also help installing `GOA` and `MTP` necessary test files.
Diffstat (limited to 'monitor')
-rw-r--r--monitor/afc/meson.build38
-rw-r--r--monitor/goa/meson.build36
-rw-r--r--monitor/gphoto2/meson.build39
-rw-r--r--monitor/meson.build70
-rw-r--r--monitor/mtp/meson.build36
-rw-r--r--monitor/udisks2/meson.build38
6 files changed, 61 insertions, 196 deletions
diff --git a/monitor/afc/meson.build b/monitor/afc/meson.build
index 0af5a8d3..741f64e5 100644
--- a/monitor/afc/meson.build
+++ b/monitor/afc/meson.build
@@ -1,41 +1,3 @@
-afc_monitor = files('afc.monitor')
-
-install_data(
- afc_monitor,
- install_dir: gvfs_remote_volume_monitors_dir
-)
-
-dbus_service = gvfs_namespace + '.AfcVolumeMonitor'
-dbus_exec = 'gvfs-afc-volume-monitor'
-dbus_systemd_service = ''
-
-if install_systemd_user_unit_dir
- service = dbus_exec + '.service'
-
- configure_file(
- input: service + '.in',
- output: service,
- install: true,
- install_dir: systemd_user_unit_dir,
- configuration: service_conf
- )
-
- dbus_systemd_service = 'SystemdService=' + service
-endif
-
-dbus_service_conf = configuration_data()
-dbus_service_conf.set('service', dbus_service)
-dbus_service_conf.set('exec', join_paths(gvfs_libexecdir, dbus_exec))
-dbus_service_conf.set('systemd_service', dbus_systemd_service)
-
-afc_service = configure_file(
- input: dbus_service_in,
- output: dbus_service + '.service',
- install: true,
- install_dir: dbus_service_dir,
- configuration: dbus_service_conf
-)
-
sources = files(
'afcvolumemonitordaemon.c',
'afcvolume.c',
diff --git a/monitor/goa/meson.build b/monitor/goa/meson.build
index 7be878ad..563d380c 100644
--- a/monitor/goa/meson.build
+++ b/monitor/goa/meson.build
@@ -1,39 +1,3 @@
-install_data(
- 'goa.monitor',
- install_dir: gvfs_remote_volume_monitors_dir
-)
-
-dbus_service = gvfs_namespace + '.GoaVolumeMonitor'
-dbus_exec = 'gvfs-goa-volume-monitor'
-dbus_systemd_service = ''
-
-if install_systemd_user_unit_dir
- service = dbus_exec + '.service'
-
- configure_file(
- input: service + '.in',
- output: service,
- install: true,
- install_dir: systemd_user_unit_dir,
- configuration: service_conf
- )
-
- dbus_systemd_service = 'SystemdService=' + service
-endif
-
-dbus_service_conf = configuration_data()
-dbus_service_conf.set('service', dbus_service)
-dbus_service_conf.set('exec', join_paths(gvfs_libexecdir, dbus_exec))
-dbus_service_conf.set('systemd_service', dbus_systemd_service)
-
-configure_file(
- input: dbus_service_in,
- output: dbus_service + '.service',
- install: true,
- install_dir: dbus_service_dir,
- configuration: dbus_service_conf
-)
-
sources = files(
'goavolumemonitordaemon.c',
'goavolume.c',
diff --git a/monitor/gphoto2/meson.build b/monitor/gphoto2/meson.build
index c3f4c78a..63b4e8c7 100644
--- a/monitor/gphoto2/meson.build
+++ b/monitor/gphoto2/meson.build
@@ -1,42 +1,3 @@
-gphoto2_monitor = files('gphoto2.monitor')
-
-install_data(
- gphoto2_monitor,
- install_dir: gvfs_remote_volume_monitors_dir
-)
-
-
-dbus_service = gvfs_namespace + '.GPhoto2VolumeMonitor'
-dbus_exec = 'gvfs-gphoto2-volume-monitor'
-dbus_systemd_service = ''
-
-if install_systemd_user_unit_dir
- service = dbus_exec + '.service'
-
- configure_file(
- input: service + '.in',
- output: service,
- install: true,
- install_dir: systemd_user_unit_dir,
- configuration: service_conf
- )
-
- dbus_systemd_service = 'SystemdService=' + service
-endif
-
-dbus_service_conf = configuration_data()
-dbus_service_conf.set('service', dbus_service)
-dbus_service_conf.set('exec', join_paths(gvfs_libexecdir, dbus_exec))
-dbus_service_conf.set('systemd_service', dbus_systemd_service)
-
-gphoto2_service = configure_file(
- input: dbus_service_in,
- output: dbus_service + '.service',
- install: true,
- install_dir: dbus_service_dir,
- configuration: dbus_service_conf
-)
-
sources = files(
'gphoto2-volume-monitor-daemon.c',
'ggphoto2volume.c',
diff --git a/monitor/meson.build b/monitor/meson.build
index f841bdce..53e18806 100644
--- a/monitor/meson.build
+++ b/monitor/meson.build
@@ -1,21 +1,73 @@
subdir('proxy')
-if enable_udisks2
- subdir('udisks2')
+# [[service name suffix, install monitor test data]]
+monitors = []
+
+if enable_afc
+ monitors += [['Afc', true]]
endif
-if enable_gphoto2
- subdir('gphoto2')
+if enable_goa
+ monitors += [['Goa', false]]
endif
-if enable_afc
- subdir('afc')
+if enable_gphoto2
+ monitors += [['GPhoto2', true]]
endif
if enable_mtp
- subdir('mtp')
+ monitors += [['MTP', false]]
endif
-if enable_goa
- subdir('goa')
+if enable_udisks2
+ monitors += [['UDisks2', true]]
endif
+
+monitors_test_data = []
+foreach monitor: monitors
+ monitor_name = monitor[0].to_lower()
+
+ dbus_service = '@0@.@1@VolumeMonitor'.format(gvfs_namespace, monitor[0])
+ dbus_exec = 'gvfs-@0@-volume-monitor'.format(monitor_name)
+ dbus_systemd_service = ''
+
+ if install_systemd_user_unit_dir
+ service = dbus_exec + '.service'
+
+ configure_file(
+ input: join_paths(monitor_name, service + '.in'),
+ output: service,
+ install: true,
+ install_dir: systemd_user_unit_dir,
+ configuration: service_conf
+ )
+
+ dbus_systemd_service = 'SystemdService=' + service
+ endif
+
+ monitor_data = files(join_paths(monitor_name, monitor_name + '.monitor'))
+
+ install_data(
+ monitor_data,
+ install_dir: gvfs_remote_volume_monitors_dir
+ )
+
+ dbus_service_conf = configuration_data()
+ dbus_service_conf.set('service', dbus_service)
+ dbus_service_conf.set('exec', join_paths(gvfs_libexecdir, dbus_exec))
+ dbus_service_conf.set('systemd_service', dbus_systemd_service)
+
+ monitor_service = configure_file(
+ input: dbus_service_in,
+ output: dbus_service + '.service',
+ install: true,
+ install_dir: dbus_service_dir,
+ configuration: dbus_service_conf
+ )
+
+ if monitor[1]
+ monitors_test_data += [monitor_data, monitor_service]
+ endif
+
+ subdir(monitor_name)
+endforeach
diff --git a/monitor/mtp/meson.build b/monitor/mtp/meson.build
index 77f47a16..ec94c688 100644
--- a/monitor/mtp/meson.build
+++ b/monitor/mtp/meson.build
@@ -1,39 +1,3 @@
-install_data(
- 'mtp.monitor',
- install_dir: gvfs_remote_volume_monitors_dir
-)
-
-dbus_service = gvfs_namespace + '.MTPVolumeMonitor'
-dbus_exec = 'gvfs-mtp-volume-monitor'
-dbus_systemd_service = ''
-
-if install_systemd_user_unit_dir
- service = dbus_exec + '.service'
-
- configure_file(
- input: service + '.in',
- output: service,
- install: true,
- install_dir: systemd_user_unit_dir,
- configuration: service_conf
- )
-
- dbus_systemd_service = 'SystemdService=' + service
-endif
-
-dbus_service_conf = configuration_data()
-dbus_service_conf.set('service', dbus_service)
-dbus_service_conf.set('exec', join_paths(gvfs_libexecdir, dbus_exec))
-dbus_service_conf.set('systemd_service', dbus_systemd_service)
-
-configure_file(
- input: dbus_service_in,
- output: dbus_service + '.service',
- install: true,
- install_dir: dbus_service_dir,
- configuration: dbus_service_conf
-)
-
sources = files(
'mtp-volume-monitor-daemon.c',
'gmtpvolume.c',
diff --git a/monitor/udisks2/meson.build b/monitor/udisks2/meson.build
index d16339b2..26ccc142 100644
--- a/monitor/udisks2/meson.build
+++ b/monitor/udisks2/meson.build
@@ -1,41 +1,3 @@
-udisks2_monitor = files('udisks2.monitor')
-
-install_data(
- udisks2_monitor,
- install_dir: gvfs_remote_volume_monitors_dir
-)
-
-dbus_service = gvfs_namespace + '.UDisks2VolumeMonitor'
-dbus_exec = 'gvfs-udisks2-volume-monitor'
-dbus_systemd_service = ''
-
-if install_systemd_user_unit_dir
- service = dbus_exec + '.service'
-
- configure_file(
- input: service + '.in',
- output: service,
- install: true,
- install_dir: systemd_user_unit_dir,
- configuration: service_conf
- )
-
- dbus_systemd_service = 'SystemdService=' + service
-endif
-
-dbus_service_conf = configuration_data()
-dbus_service_conf.set('service', dbus_service)
-dbus_service_conf.set('exec', join_paths(gvfs_libexecdir, dbus_exec))
-dbus_service_conf.set('systemd_service', dbus_systemd_service)
-
-udisks2_service = configure_file(
- input: dbus_service_in,
- output: dbus_service + '.service',
- install: true,
- install_dir: dbus_service_dir,
- configuration: dbus_service_conf
-)
-
sources = files(
'udisks2volumemonitordaemon.c',
'gvfsudisks2drive.c',