service: Allow opening corrupt GVDB files when writing
If a GVDB file cannot be opened due to being corrupt, move it out of the
way, warn, and open a new blank database instead.
This prevents the situation where a corrupt database stops the entire
desktop session from loading.
Note that the dconf_gvdb_utils_read_file() code path is only taken
inside DConfWriter. The DConf engine sources (such as
dconf-engine-source-system.c) open the GVDB tables separately, and
already all handle errors gracefully.
Signed-off-by: Philip Withnall <withnall@endlessm.com>
https://gitlab.gnome.org/GNOME/glib/issues/1454