| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
The current meson build files make heavy use of meson's
`project_name` function. However this makes difficult for any
developer to find for given program/library/file names. The project
name is also never going to change.
Due to this reason these calls have been changed for `dconf` itself.
|
|
|
|
|
|
|
|
|
| |
meson is able to generate internal dependencies for handling built
libraries. These internal dependencies depend on other dependencies
as well, based on the includes exposed by their headers.
This have been fixed by using proper internal dependencies for these
libraries.
|
|
|
|
|
|
|
|
|
|
|
| |
dconf builts a number of internal static libraries which in some
cases are duplicated. This duplication comes from autotools that
used to built two libraries for each library, one with PIC enabled
and the other one without it.
This has been changed to build only one library for each library to
be built, except `libdconf-common-hidden` which hides some symbols
for the GIO module to be built.
|
|
|
|
|
|
|
|
|
| |
meson 0.43.0 comes with a new function in the compiler's object
called `get_supported_arguments`, which allows checking multiple
optiones at once.
This patch bumps meson's version number and also takes advantage
of this new feature.
|
|
|
|
|
|
|
| |
(Expanded by Philip Withnall <withnall@endlessm.com> to add more
annotations and fix prior review comments.)
https://bugzilla.gnome.org/show_bug.cgi?id=758903
|
|
|
|
|
|
|
|
|
|
| |
meson does not allow to build source code inside the source code
tree, for this reason there is no need for .gitignore files to
ignore built files.
This patch removes .gitignore files which are no longer needed.
https://bugzilla.gnome.org/show_bug.cgi?id=784910
|
|
|
|
|
|
|
| |
To avoid the burden of maintaining multiple build systems, this
patch removes autotools support.
https://bugzilla.gnome.org/show_bug.cgi?id=784910
|
|
|
|
|
|
|
|
| |
meson is a build system focused on speed an ease of use, which
helps speeding up the software development. This patch adds meson
support along autotools.
https://bugzilla.gnome.org/show_bug.cgi?id=784910
|
| |
|
|
|
|
|
|
|
|
| |
Add a flag that allows checking the default value without constructing a
read_through queue. Make use of this new flag to simplify code in a
couple of places.
https://bugzilla.gnome.org/show_bug.cgi?id=759128
|
|
|
|
|
|
|
| |
Delete the separate dconf_engine_read_user_value() and merge its
functionality into dconf_engine_read() by adding a flags field.
https://bugzilla.gnome.org/show_bug.cgi?id=759128
|
|
|
|
|
|
| |
This will soon contain an extra enum.
https://bugzilla.gnome.org/show_bug.cgi?id=759128
|
|
|
|
|
|
|
| |
Add support for g_autoptr() on DConfClient and DConfChangeset. Switch
to using G_DECLARE_FINAL_TYPE in the declaration of DConfClient.
https://bugzilla.gnome.org/show_bug.cgi?id=758871
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a dir is reset against a DConfChangeset then the result ought to be
that all keys under that dir read as NULL (until such a time as they are
set to a new value).
This is consistent with the (existing) behaviour that a key will read as
NULL if it, itself, was reset.
In order to make that efficient, we create a separate GHashTable to
serve as a cache of all of the directories that have been reset and
iterate it whenever we do a key lookup that doesn't have a direct hit.
We update (and expand) the test case to reflect this new reality -- the
tests actually had a case that relied on the inconsistent behaviour.
https://bugzilla.gnome.org/show_bug.cgi?id=744678
|
| |
|
|
|
|
|
|
|
|
|
| |
Add a DCONF_ERROR error domain with associated DConfError enum type.
Use this instead of the adhoc approach that we've been taking up to this
point.
https://bugzilla.gnome.org/show_bug.cgi?id=704638
|
|
|
|
| |
We ought to be including this from each .c file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DConfChangeset is a partially threadsafe type.
when first created, it is mutable and can only be used from one thread.
After it is filled in, the intention is that it can be shared between
threads as long as it isn't changed.
Previously, this transition was made when dconf_changeset_describe() was
called. After that, it was not possible to make any more changes.
Formalise and document this concept and add an explicit call for it:
dconf_changeset_seal().
https://bugzilla.gnome.org/show_bug.cgi?id=703073
|
| |
|
| |
|
|
|
|
|
| |
Many fixes for typos but also some adjustments for the recent
refactoring (particularly updating HACKING).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new mode for DConfChangeset to represent the entire contents of a
dconf database.
Also add a dconf_changeset_change() call to either merge changesets or
apply a changeset to a database-mode changeset.
Doing this allows us to have only one instance of the algorithm to deal
with resets (ie: when resetting '/a/' we must reset all keys starting
with '/a/').
|
| |
|
|
|
|
|
| |
Colin noticed that this was totally broken (from an ostree build). Fix
it up.
|
|
|
|
|
|
| |
Adjust the way that an assert is done in order to convince lcov that we
have 100% line coverage (since the 'g_assert_not_reached()' wasn't being
hit before).
|
|
|
|
| |
We're now back at 100% docs coverage with no warnings.
|
|
|
|
|
|
| |
Compile a version of libdconf-common.a with -fvisibility=hidden. This
is included in the GSettings backend to prevent leaking the dconf client
library symbols into the global namespace.
|
|
|
|
|
|
|
|
|
|
| |
Clean up the Makefiles and make them as similar as possible.
Move CFLAGS to a common point of definition and stop using -I so much.
Replace the 'dbus stub' with libdconf-mock.a in tests/. Fill in some
stubs for future mock code for shm and gvdb (just to get things
compiling for now).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the shm code from the engine and the service and put it in a
separate convenience library in shm/.
Remove the vestigial shmdir weirdness from the service (since shmdir is
now always relative to XDG_RUNTIME_DIR and has been for some time).
The purpose of this is so that dconf-engine can be properly unit-tested.
dconf-engine now has five points of contact with the world (excluding
the users of the engine themselves):
- the DCONF_PROFILE environment variable
- fopen() of profile files
- shm
- gvdb
- dbus
The environment variable is quite easily controlled. fopen() is
intercepted in the engine testcase with a interpose of the libc symbol.
With this commit now each of dbus, gvdb and shm are implemented in
separate utility modules that can be mocked from the testcases.
|
|
|
|
|
| |
When someone resets a path with dconf_changeset_set(), delete all keys
that are currently under that path in the changeset.
|
|
|
|
|
| |
We may be interested in only checking the return value for if a key
exists or not.
|
|
|
|
| |
Fix a few bugs found by the new testcase.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit represents a rather complete rethinking of DConfEngine.
- the different kinds of sources are now properly abstracted. This
will make landing NFS support substantially easier.
- there is now substantially more internal documentation
- DConfEngineMessage is gone and replaced with ordinary function calls
to be implemented by the D-Bus glue code
- the GDBus glue has been factored out and is now shared between the
client library and GSettings
- the "outstanding" queue logic from the GSettings backend is now in
the engine
- all changes now go through a single API that accepts a (new)
DConfChangeset object. Currently this only supports the current
operations (ie: setting and resetting). In the future this object
will also support the directory operations required by GSettingsList
and will be the basis for the new approach to implementing the
'delayed' GSettingsBackend (which will be the method by which those
two concepts can co-exist).
The (internal) API of the engine changed substantially. This caused the
following:
- the libdconf client library has been rewritten in C. Most of the
complicated aspects of it (that made it more convenience to use
Vala) are now gone.
- during the rewrite of libdconf, the DConfClient API changed a bit to
look more like a proper GObject. It now makes GIO-style use of
thread-default main contexts and uses GObject signals for
notifications (instead of hand-rolled callbacks).
- the GSettings backend has been substantially simplified (the
"outstanding" logic is gone). No externally-visible changes.
- the dbus-1 backend has taken a copy of the old engine code for now
until it can be ported to the new engine and sufficiently tested.
No externally-visible changes.
- the dconf commandline tool and dconf-editor required minor changes
to adjust to the DConfClient API changes
There is a substantial amount of cleaning up and finishing of work to be
done. There are many stubs remaining. There are likely still a large
number of bugs.
|
| |
|
|
|
|
|
|
|
| |
One -fPIC and one without.
This is done instead of pulling the various source files from other
Makefiles.
|
|
|
|
|
|
| |
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
https://bugzilla.gnome.org/show_bug.cgi?id=658864
|
|
|
|
|
|
| |
This was required to support the case where the dconf client was unable
to determine the cache directory for itself. Since we now use the XDG
runtime directory, this is redundant.
|
|
|
|
|
|
| |
With XDG_RUNTIME_DIR, we no longer have to be frightened about NFS.
That lets us remove the NFS checks that were causing build failures all
over the place.
|
|
|
|
| |
Check for NULL dconf key/dir/path and report it as an error.
|
|
|
|
| |
We're being sloppy about symbol exports. Clean that up.
|
|
|
|
| |
Try to close #632970 again.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Rename set_lock to set_locked again (and same SetLock -> SetLocked).
Add missing gtk-doc bits, clean up some that are no longer there.
Bump gtk-doc dependency.
|
| |
|
| |
|