This should allow the following cases:
- In case of "auto" (the default): meson will check if the necessary
binaries are installed (such as `dbus-run-session`) on the system and
fall back.
- In case of "enabled": meson will require the necessary binaries to be
installed
- In case of "disabled": meson will not try to mark this as the default
test setup.
The first case was already the default, however, some systems have a
preconfigured test setup which they'd like to use instead. Allow them to
disable the default test setup in that case.
Fixes: https://gitlab.gnome.org/GNOME/libsecret/-/issues/101
The [bash-completion] git repository has had an extended version for
dealing with bash-compleions of our `secret-tool` for a while now.
We've agreed it makes sense to ship their version upstream, i.e. in this
repo. I didn't author this, the real credits go to the authors mentioned
below.
[bash-completion]: https://github.com/scop/bash-completion
Co-authored-by: Ville Skyttä <ville.skytta@iki.fi>
Co-authored-by: Koichi Murase <myoga.murase@gmail.com>
Fixes: https://gitlab.gnome.org/GNOME/libsecret/-/issues/103
Although it most probably makes sense for anyone who wants to run the
tests, there's always a possibility someone wants to use a different
setup instead.
Fixes: https://gitlab.gnome.org/GNOME/libsecret/-/issues/100
`GLib.Test.add_data_func()` requires an extra argument that represents
the test data. Since we're not giving this, GCC is throwing a compiler
error. We should be using `GLib.Test.add_func()` instead.
Reported-by: Chao Yuan (@yuncang123)
Fixes: https://gitlab.gnome.org/GNOME/libsecret/-/issues/95
This makes sure that our tests run within their own D-Bus session (which
is a requirement most of the time)
As a result, we can get rid of a few workarounds in our CI to setup such
a session.
Before this commit, the field specified "GPL2+" as license which is
wrong on several levels:
- the `license` field should specify a SPDX license identifier (which
"GPL2+" is not)
- throughout the whole repository multiple licenses are used (not just
GPL2 and later)
- the main library code is licensed under the LGPL, version 2.1 and
later
Fix this by providing a proper SPDX identifier:
- The main library code is licensed under the LGPL, version 2.1 and
later
- The tests are licensed under either the Apache (v2) license or GPL
(v2 or later)
The SecretSession protocol uses a weak Diffie-Hellman parameters which
are not approved by FIPS. While this is not ideal, the protocol is not
designed as a general protection mechanism of data in transit, but
just as a safety net against when the dbus-daemon (or dbus-broker)
crashes and dumps a core, and thus bumping the protocol to use a
larger DH group would be overkill.
This patch temporarily disables the FIPS check around the GnuTLS DH
API calls to avoid errors.
Signed-off-by: Daiki Ueno <dueno@src.gnome.org>
This is the standard mechanism to initialize a GObject introspectable
interface. If you don't do this, you get this PyGIWarning:
Secret was imported without specifying a version first. Use
gi.require_version('Secret', '1') before import to ensure that the
right version gets loaded.
On NixOS packages are installed in separate prefixes.
Starting from GLib / gobject-introspection 2.80, GLib introspection data
is provided by GLib itself instead of gobject-introspection. This causes
tests failures on NixOS because env.set() resets the environment and GLib
is missing from GI_TYPELIB_PATH:
gi.RepositoryError: Typelib file for namespace 'Gio', version '2.0' not found
See also:
29e6cc5808