[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