Changes in libportal main branch break the CI and require dependency
changes which we shouldn't make on stable branch.
(cherry picked from commit 67927cb09b)
The flatpak master job seems to be redundant currently. It uses the same
image as flatpak devel and their .yml files are equal. The two flatpak jobs
are relict from the times when GNOME SDK was unstable and broke CI often,
which is no more true. Let's remove the flatpak master job.
The flatpak build currently fails because of gexiv2 build failure, which is
a problem for our contributors and among others breaks our CI pipeline. The
potential fix is available already for a couple of days on
https://gitlab.gnome.org/GNOME/gexiv2/-/merge_requests/63 but not yet merged.
Let's temporarily pin the gexiv2 and exiv2 dependencies to the stable branches
to fix those issues.
We already disable introspection, which is required by the vapi and
python3 options.
We don't really on either and this is breaking the CI.
(cherry picked from commit 46579d08b0b1183aa36544e0e949a6d42c53ce84)
The build log contains warnings about deprecated gexiv2 functions. Let's
port to the new API, unpin exiv3 and gexiv2 dependencies in flatpak manifests
and bump the build dependency accordingly to get rid of the warnings.
The network access is no more needed for gvfs support as it currently
uses named sockets instead of abstract ones. It is enough to allow access
to `xdg-run/gvfsd` folder, where the named sockets reside. I'm not aware
of other reasons for allowing network access. Let's drop the network
access. This also workarounds "Too many open files" errors caused by
leftover sockets (GNOME/gvfs#542).
Relates: https://gitlab.gnome.org/GNOME/gvfs/-/issues/515
Tracker 3 is provided in the Flatpak SDK, see
https://gitlab.gnome.org/GNOME/gnome-build-meta/-/merge_requests/630.
We still build tracker-miners inside the Flatpak bundle, so that the
org.freedesktop.Tracker3.Miner.Files settings schema is available, and
so that the tests that depend on Tracker can pass as part of the CI
build.
Access to the host's miners is controlled by the new
org.freedesktop.Tracker.portal process provided in Tracker 3.
We've pinned to specific versions, because their
git master branches have API-breaking changes.
Instead, let's follow from the tracker[-miners]-2.3 branches, where
the stable API is still maintained.
tracker-miners master requires tracker-testutils 2.0, but they are not
provided by tracker 2.3.2 and tracker master provides just version 3.0.
Let's use tracker-miners 2.3.2 to workaround this issue.
Flatpak generation fails currently because tracker-miners still requires
tracker API version 2.0. Let's use tracker 2.3.2, until tracker-miners
will be ported to 3.0.
I don't see any reason to manually specify libdir for tracker as
it seemingly uses the same directory by default. Let's remove that
redundant definition.
We are near 3.36, so let's update the dependencies.
gexiv2 git master is failing to build locally, so I've
updated it to the latest tag that builds locally.
The prefix is not localized, and tends to ellipsize the name.
With the introduction of an icon for the development profile, there is
enough visual distinction in the app grip.
So, drop the prefix.
Part of https://gitlab.gnome.org/GNOME/Initiatives/issues/12
The -Ddisable-introspection gexiv2 meson option was renamed to -Dintrospection.
25a03fe69c
Let's reflect this in the org.gnome.NautilusMaster.yml file to fix the flatpak
master job as it currenty fails with "OSError: [Errno 30] Read-only file system:
'/usr/lib/python3.7/site-packages/gi/overrides/GExiv2.py'" error.
GVfs communicates with daemons over abstract sockets. Currently, synchronous
GIO API doesn't work for GVfs locations, because abstract sockets seem to be
blocked by sandbox permissions. This is not problem in most cases as Nautilus
uses asynchronous API usually. But this breaks e.g. "Empty Trash" functionality
as it is for some reason based on synchronous API.
In order to fix this problems, it is necessary to allow access to sockets
beginning with `unix:abstract=/dbus-vfs-daemon/socket-`, but I am not aware of
better way than adding `--share=network`, which allows access to all abstract
sockets:
http://docs.flatpak.org/en/latest/sandbox-permissions-reference.html#f2
Just a note that it is not clear to me, why it affects only the synchronous
API as the asynchronous API also uses abstract sockets. See the corresponding
Flatpak bug:
https://github.com/flatpak/flatpak/issues/2711
We were using the xdg directories to check whether we can star a file
or not, since the star feature only works on directories that are
tracked by tracker.
Tracker is usually shipped in distributions tracking the
xdg-directories, so we check that as a stop gap solution for 3.30
since we didn't have time to actually query what directories tracker
is tracking and match that.
This work makes it so that we show the star action on tracked
directories.
builddir: true is assumed always whenever the buildsystem is meson.
libdir no longer needs to be specified, and cmake was patched to
be able to deal with lib64. See [1] for more.
[1]: https://gitlab.gnome.org/GNOME/gnome-build-meta/issues/77
This seems to have been broken for a while now cause by default
it tries to install a python overide in the python shared packages
in /usr, but this is immutable since it comes from the runtime.
This patch disables that.
Currently network is used during build time because of pip fetching from
internet.
However network should not be used during build time.
To fix this issue, use gcovr.json generated by flatpak-pip-generator
and replace them with gcovr module in org.gnome.Nautilus.json and
org.gnome.Nautilus.yml and remove build option that uses network.
Closes issue https://gitlab.gnome.org/GNOME/nautilus/issues/681