[pulseaudio-discuss] [PATCH] module-gsettings: new module to store configuration using gsettings

Tanu Kaskinen tanuk at iki.fi
Tue Oct 4 11:04:44 UTC 2016

On Fri, 2016-09-30 at 23:21 +0200, Sylvain Baubeau wrote:
> 2016-09-27 21:32 GMT+02:00 Felipe Sateler <fsateler at debian.org>:
> > I have to say I'm not sure how an upgrade scenario would play out. My
> > understanding currently is as follows:
> > 
> > 1. paprefs can ship a file for gsettings-data-convert, which migrates
> > the settings.
> > 
> > 2. However that tool is only run at login.
> > 
> > 3. As a consequence, the paprefs tool can be in an inconsistent state
> > after an upgrade and before the next login.
> > 
> > It seems that the problem is resolved by papfrefs triggering the tool
> > on startup as suggested by the gnome documentation[1].
> > 
> Thanks for pointing this out. I updated my paprefs patch to apply
> paprefs.convert at startup.

Would it be feasible for you to make it a build time option to use
gconf or gsettings in paprefs?

> > However that leaves us with another problem, as the pulseaudio daemon
> > is not restarted automatically after an upgrade, and thus gsettings
> > module might not be loaded. But, I hope paprefs can already deal with
> > such a scenario and prompt the user accordingly.
> > 
> Unfortunately, paprefs does not deal with such a scenario. It will
> therefore be able to modify the configuration but this configuration will
> only take effect when pulseaudio is restarted. What do you suggest
> prompting the user with ?

Figuring out a good message is tricky. paprefs could just say "module-
gsettings not loaded", but it would be nice to able to tell the user
what to do. However, module-gsettings not being loaded may be because
the server is too old version and doesn't support module-gsettings at
all (distributions can deal this by depending on new enough server,
though), or it has been removed from default.pa and needs to be added
there, or the server has been updated but not restarted. The last
reason is the most likely one in the beginning, but over time it
becomes less and less likely, so just saying "restart pulseaudio" or
"reboot the machine" probably isn't a good idea.

> > In debian there is only paprefs depending on module-gconf. I don't
> > think we'll keep module-gconf after paprefs has migrated.

If we release a pulseaudio version with module-gsettings before we
release paprefs with gsettings support, will you run pulseaudio with
both gconf and gsettings enabled, or only with gconf? Running with both
would have the benefit that if everything goes well, the data will be
migrated without any glitch when the new paprefs version is run for the
first time, because module-gsettings will be already loaded. The risk
with that is that the migration can't be tested at the time you enable
module-gsettings, since paprefs isn't ready. If there's some unforeseen
problem when paprefs is finally updated, and module-gsettings needs to
be fixed in some way, the migration might become even more complex,
because you need to deal with detecting a situation where the server is
running with a broken version of module-gsettings.


More information about the pulseaudio-discuss mailing list