[pulseaudio-discuss] [PATCH] gsettings: run gsettings-data-convert from gsettings-helper
Tanu Kaskinen
tanuk at iki.fi
Mon Apr 23 13:16:11 UTC 2018
This was originally planned to be done by paprefs when it starts, but
since the schema is now fully controlled by pulseaudio, it makes sense
to run the conversion from pulseaudio instead.
---
src/Makefile.am | 6 +
src/modules/gsettings/gsettings-helper.c | 6 +
src/modules/gsettings/pulseaudio.convert | 160 +++++++++++++++++++++++
3 files changed, 172 insertions(+)
create mode 100644 src/modules/gsettings/pulseaudio.convert
diff --git a/src/Makefile.am b/src/Makefile.am
index b59cec966..8ef9eb252 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -34,6 +34,9 @@ endif
if HAVE_DBUS
dbuspolicydir=$(sysconfdir)/dbus-1/system.d
endif
+if HAVE_GSETTINGS
+gsettingsdataconvertdir=$(datadir)/GConf/gsettings
+endif
###################################
# Compiler/linker flags #
@@ -1418,6 +1421,9 @@ modlibexec_LTLIBRARIES += \
pulselibexec_PROGRAMS += \
gsettings-helper
+
+dist_gsettingsdataconvert_DATA = \
+ modules/gsettings/pulseaudio.convert
endif
if HAVE_WAVEOUT
diff --git a/src/modules/gsettings/gsettings-helper.c b/src/modules/gsettings/gsettings-helper.c
index d59cc832d..1bf2f13cf 100644
--- a/src/modules/gsettings/gsettings-helper.c
+++ b/src/modules/gsettings/gsettings-helper.c
@@ -86,6 +86,12 @@ int main(int argc, char *argv[]) {
g_type_init();
#endif
+ /* gsettings-data-convert copies data from GConf to GSettings. The
+ * conversion is defined in the pulseaudio.convert file. The conversion is
+ * done only once, so running the command every time gsettings-helper
+ * starts is safe. */
+ g_spawn_command_line_sync("gsettings-data-convert", NULL, NULL, NULL, NULL);
+
if (!(settings = g_settings_new(PA_GSETTINGS_MODULE_GROUPS_SCHEMA)))
goto fail;
diff --git a/src/modules/gsettings/pulseaudio.convert b/src/modules/gsettings/pulseaudio.convert
new file mode 100644
index 000000000..d9268bf92
--- /dev/null
+++ b/src/modules/gsettings/pulseaudio.convert
@@ -0,0 +1,160 @@
+[org.freedesktop.pulseaudio.module-group:/org/freedesktop/pulseaudio/module-groups/combine/]
+args0 = /system/pulseaudio/modules/combine/args0
+args1 = /system/pulseaudio/modules/combine/args1
+args2 = /system/pulseaudio/modules/combine/args2
+args3 = /system/pulseaudio/modules/combine/args3
+args4 = /system/pulseaudio/modules/combine/args4
+args5 = /system/pulseaudio/modules/combine/args5
+args6 = /system/pulseaudio/modules/combine/args6
+args7 = /system/pulseaudio/modules/combine/args7
+args8 = /system/pulseaudio/modules/combine/args8
+args9 = /system/pulseaudio/modules/combine/args9
+name0 = /system/pulseaudio/modules/combine/name0
+name1 = /system/pulseaudio/modules/combine/name1
+name2 = /system/pulseaudio/modules/combine/name2
+name3 = /system/pulseaudio/modules/combine/name3
+name4 = /system/pulseaudio/modules/combine/name4
+name5 = /system/pulseaudio/modules/combine/name5
+name6 = /system/pulseaudio/modules/combine/name6
+name7 = /system/pulseaudio/modules/combine/name7
+name8 = /system/pulseaudio/modules/combine/name8
+name9 = /system/pulseaudio/modules/combine/name9
+enabled = /system/pulseaudio/modules/combine/enabled
+
+[org.freedesktop.pulseaudio.module-group:/org/freedesktop/pulseaudio/module-groups/remote-access/]
+args0 = /system/pulseaudio/modules/remote-access/args0
+args1 = /system/pulseaudio/modules/remote-access/args1
+args2 = /system/pulseaudio/modules/remote-access/args2
+args3 = /system/pulseaudio/modules/remote-access/args3
+args4 = /system/pulseaudio/modules/remote-access/args4
+args5 = /system/pulseaudio/modules/remote-access/args5
+args6 = /system/pulseaudio/modules/remote-access/args6
+args7 = /system/pulseaudio/modules/remote-access/args7
+args8 = /system/pulseaudio/modules/remote-access/args8
+args9 = /system/pulseaudio/modules/remote-access/args9
+name0 = /system/pulseaudio/modules/remote-access/name0
+name1 = /system/pulseaudio/modules/remote-access/name1
+name2 = /system/pulseaudio/modules/remote-access/name2
+name3 = /system/pulseaudio/modules/remote-access/name3
+name4 = /system/pulseaudio/modules/remote-access/name4
+name5 = /system/pulseaudio/modules/remote-access/name5
+name6 = /system/pulseaudio/modules/remote-access/name6
+name7 = /system/pulseaudio/modules/remote-access/name7
+name8 = /system/pulseaudio/modules/remote-access/name8
+name9 = /system/pulseaudio/modules/remote-access/name9
+enabled = /system/pulseaudio/modules/remote-access/enabled
+
+[org.freedesktop.pulseaudio.module-group:/org/freedesktop/pulseaudio/module-groups/zeroconf-discover/]
+args0 = /system/pulseaudio/modules/zeroconf-discover/args0
+args1 = /system/pulseaudio/modules/zeroconf-discover/args1
+args2 = /system/pulseaudio/modules/zeroconf-discover/args2
+args3 = /system/pulseaudio/modules/zeroconf-discover/args3
+args4 = /system/pulseaudio/modules/zeroconf-discover/args4
+args5 = /system/pulseaudio/modules/zeroconf-discover/args5
+args6 = /system/pulseaudio/modules/zeroconf-discover/args6
+args7 = /system/pulseaudio/modules/zeroconf-discover/args7
+args8 = /system/pulseaudio/modules/zeroconf-discover/args8
+args9 = /system/pulseaudio/modules/zeroconf-discover/args9
+name0 = /system/pulseaudio/modules/zeroconf-discover/name0
+name1 = /system/pulseaudio/modules/zeroconf-discover/name1
+name2 = /system/pulseaudio/modules/zeroconf-discover/name2
+name3 = /system/pulseaudio/modules/zeroconf-discover/name3
+name4 = /system/pulseaudio/modules/zeroconf-discover/name4
+name5 = /system/pulseaudio/modules/zeroconf-discover/name5
+name6 = /system/pulseaudio/modules/zeroconf-discover/name6
+name7 = /system/pulseaudio/modules/zeroconf-discover/name7
+name8 = /system/pulseaudio/modules/zeroconf-discover/name8
+name9 = /system/pulseaudio/modules/zeroconf-discover/name9
+enabled = /system/pulseaudio/modules/zeroconf-discover/enabled
+
+[org.freedesktop.pulseaudio.module-group:/org/freedesktop/pulseaudio/module-groups/raop-discover/]
+args0 = /system/pulseaudio/modules/raop-discover/args0
+args1 = /system/pulseaudio/modules/raop-discover/args1
+args2 = /system/pulseaudio/modules/raop-discover/args2
+args3 = /system/pulseaudio/modules/raop-discover/args3
+args4 = /system/pulseaudio/modules/raop-discover/args4
+args5 = /system/pulseaudio/modules/raop-discover/args5
+args6 = /system/pulseaudio/modules/raop-discover/args6
+args7 = /system/pulseaudio/modules/raop-discover/args7
+args8 = /system/pulseaudio/modules/raop-discover/args8
+args9 = /system/pulseaudio/modules/raop-discover/args9
+name0 = /system/pulseaudio/modules/raop-discover/name0
+name1 = /system/pulseaudio/modules/raop-discover/name1
+name2 = /system/pulseaudio/modules/raop-discover/name2
+name3 = /system/pulseaudio/modules/raop-discover/name3
+name4 = /system/pulseaudio/modules/raop-discover/name4
+name5 = /system/pulseaudio/modules/raop-discover/name5
+name6 = /system/pulseaudio/modules/raop-discover/name6
+name7 = /system/pulseaudio/modules/raop-discover/name7
+name8 = /system/pulseaudio/modules/raop-discover/name8
+name9 = /system/pulseaudio/modules/raop-discover/name9
+enabled = /system/pulseaudio/modules/raop-discover/enabled
+
+[org.freedesktop.pulseaudio.module-group:/org/freedesktop/pulseaudio/module-groups/rtp-recv/]
+args0 = /system/pulseaudio/modules/rtp-recv/args0
+args1 = /system/pulseaudio/modules/rtp-recv/args1
+args2 = /system/pulseaudio/modules/rtp-recv/args2
+args3 = /system/pulseaudio/modules/rtp-recv/args3
+args4 = /system/pulseaudio/modules/rtp-recv/args4
+args5 = /system/pulseaudio/modules/rtp-recv/args5
+args6 = /system/pulseaudio/modules/rtp-recv/args6
+args7 = /system/pulseaudio/modules/rtp-recv/args7
+args8 = /system/pulseaudio/modules/rtp-recv/args8
+args9 = /system/pulseaudio/modules/rtp-recv/args9
+name0 = /system/pulseaudio/modules/rtp-recv/name0
+name1 = /system/pulseaudio/modules/rtp-recv/name1
+name2 = /system/pulseaudio/modules/rtp-recv/name2
+name3 = /system/pulseaudio/modules/rtp-recv/name3
+name4 = /system/pulseaudio/modules/rtp-recv/name4
+name5 = /system/pulseaudio/modules/rtp-recv/name5
+name6 = /system/pulseaudio/modules/rtp-recv/name6
+name7 = /system/pulseaudio/modules/rtp-recv/name7
+name8 = /system/pulseaudio/modules/rtp-recv/name8
+name9 = /system/pulseaudio/modules/rtp-recv/name9
+enabled = /system/pulseaudio/modules/rtp-recv/enabled
+
+[org.freedesktop.pulseaudio.module-group:/org/freedesktop/pulseaudio/module-groups/rtp-send/]
+args0 = /system/pulseaudio/modules/rtp-send/args0
+args1 = /system/pulseaudio/modules/rtp-send/args1
+args2 = /system/pulseaudio/modules/rtp-send/args2
+args3 = /system/pulseaudio/modules/rtp-send/args3
+args4 = /system/pulseaudio/modules/rtp-send/args4
+args5 = /system/pulseaudio/modules/rtp-send/args5
+args6 = /system/pulseaudio/modules/rtp-send/args6
+args7 = /system/pulseaudio/modules/rtp-send/args7
+args8 = /system/pulseaudio/modules/rtp-send/args8
+args9 = /system/pulseaudio/modules/rtp-send/args9
+name0 = /system/pulseaudio/modules/rtp-send/name0
+name1 = /system/pulseaudio/modules/rtp-send/name1
+name2 = /system/pulseaudio/modules/rtp-send/name2
+name3 = /system/pulseaudio/modules/rtp-send/name3
+name4 = /system/pulseaudio/modules/rtp-send/name4
+name5 = /system/pulseaudio/modules/rtp-send/name5
+name6 = /system/pulseaudio/modules/rtp-send/name6
+name7 = /system/pulseaudio/modules/rtp-send/name7
+name8 = /system/pulseaudio/modules/rtp-send/name8
+name9 = /system/pulseaudio/modules/rtp-send/name9
+enabled = /system/pulseaudio/modules/rtp-send/enabled
+
+[org.freedesktop.pulseaudio.module-group:/org/freedesktop/pulseaudio/module-groups/upnp-media-server/]
+args0 = /system/pulseaudio/modules/upnp-media-server/args0
+args1 = /system/pulseaudio/modules/upnp-media-server/args1
+args2 = /system/pulseaudio/modules/upnp-media-server/args2
+args3 = /system/pulseaudio/modules/upnp-media-server/args3
+args4 = /system/pulseaudio/modules/upnp-media-server/args4
+args5 = /system/pulseaudio/modules/upnp-media-server/args5
+args6 = /system/pulseaudio/modules/upnp-media-server/args6
+args7 = /system/pulseaudio/modules/upnp-media-server/args7
+args8 = /system/pulseaudio/modules/upnp-media-server/args8
+args9 = /system/pulseaudio/modules/upnp-media-server/args9
+name0 = /system/pulseaudio/modules/upnp-media-server/name0
+name1 = /system/pulseaudio/modules/upnp-media-server/name1
+name2 = /system/pulseaudio/modules/upnp-media-server/name2
+name3 = /system/pulseaudio/modules/upnp-media-server/name3
+name4 = /system/pulseaudio/modules/upnp-media-server/name4
+name5 = /system/pulseaudio/modules/upnp-media-server/name5
+name6 = /system/pulseaudio/modules/upnp-media-server/name6
+name7 = /system/pulseaudio/modules/upnp-media-server/name7
+name8 = /system/pulseaudio/modules/upnp-media-server/name8
+name9 = /system/pulseaudio/modules/upnp-media-server/name9
+enabled = /system/pulseaudio/modules/upnp-media-server/enabled
--
2.17.0
More information about the pulseaudio-discuss
mailing list