Commit Graph

7954 Commits

Author SHA1 Message Date
Simon McVittie
e5c97002e2 doc/release-checklist.md: Fix a leftover Autotools reference
In 1.15.x we're using `meson dist`, not `make distcheck`.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-07-22 19:12:31 +01:00
Simon McVittie
b026910d1c Update translation files for release
Signed-off-by: Simon McVittie <smcv@collabora.com>
1.15.9
2024-07-22 17:58:03 +01:00
Simon McVittie
1589584875 Prepare v1.15.9
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-07-22 17:47:36 +01:00
Simon McVittie
bde1e8b4e6 Update NEWS
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-07-22 17:45:57 +01:00
Ekaterine Papava
75b21fb23e Update ka.po 2024-07-22 17:40:55 +01:00
Rafael Fontenelle
c374ff37de Update Brazilian Portuguese translation 2024-07-22 17:39:54 +01:00
Simon McVittie
aca754af78 Update NEWS
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-07-16 18:03:55 +01:00
Kalev Lember
4bf4f32c16 dir: Make sure all parse_ref_file out params are consistently cleared
parse_ref_file() cleared all its out params to NULL, with the exception
of collection_id_out. Make sure to clear this one as well to avoid
surprises in the future.

Fixes commit ae7d96037 that added collection ID support to flatpakref.
2024-07-16 17:55:31 +01:00
Daniel Winzen
07f55b32a5 run: Test whether sysfs mountpoints are accessible before mounting them
In some restrictive environments like Whonix, access to /sys/ is blocked by file
permissions (chmod 0700 /sys). Previously, Flatpak would give bwrap a
command-line that will fail altogether in these locked-down environments.
Instead, fall back to running the app with no access to these /sys
subdirectories.

The application will be unable to enumerate game controllers and similar
hardware devices in this situation, but that's the same limited functionality
that would be seen for a non-sandboxed application.

Resolves: https://github.com/flatpak/flatpak/issues/5138
2024-07-16 17:54:27 +01:00
Simon McVittie
51de8f9294 Update NEWS
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-07-16 17:50:43 +01:00
Simon McVittie
9f1e6dc370 Merge pull request #5800 from smcv/libglnx-into-subtree
Convert libglnx, variant-compiler into `git subtree`
2024-07-16 17:33:17 +01:00
Simon McVittie
5150678ed0 Update NEWS
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-07-16 17:29:42 +01:00
Simon McVittie
33212f5c11 utils: Remove flatpak-variant-private.h, no longer necessary
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-07-09 17:12:55 -03:00
Simon McVittie
4add324060 prune: Include flatpak-variant-private.h before its -impl-private.h
This ensures that declarations are visible.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-07-09 17:12:55 -03:00
Simon McVittie
25d38bab0a utils: Remove unnecessary flatpak-ref-utils-private.h inclusion
Include flatpak-ref-utils-private.h explicitly in each remaining
module that needs it (mostly for FlatpakDecomposed).

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-07-09 17:12:55 -03:00
Simon McVittie
87360c96e0 utils: Move remaining direct ostree dependencies to repo-utils
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-07-09 17:12:55 -03:00
Simon McVittie
97cddd6e48 utils: Move more repository functionality to repo-utils
This further reduces circular dependencies: utils no longer has a
circular dependency with repo-utils or xml-utils.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-07-09 17:12:55 -03:00
Simon McVittie
3271f9c25d utils: Export flatpak_get_compat_arch()
This will allow its caller to be moved into repo-utils.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-07-09 17:12:55 -03:00
Simon McVittie
1b85a2c090 utils: Move more summary parsing into repo-utils
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-07-09 17:12:55 -03:00
Simon McVittie
06970e015f utils: Move more repository functionality into repo-utils
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-07-09 17:12:55 -03:00
Simon McVittie
31590889f8 ref-utils: Move flatpak_get_arch_for_ref() to here
The declaration was already in flatpak-ref-utils-private.h.

Fixes: 5dae1fc6 "Break out ref helper functions to separate file"
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-07-09 17:12:55 -03:00
Simon McVittie
c98a7c024f utils: Move OstreeRepo configuration accessors to a new translation unit
This is a step towards removing the libostree dependency from
flatpak-utils, which should be one of the lowest-level components.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-07-09 17:12:55 -03:00
Simon McVittie
485f6bc5c5 common: Explicitly include ostree.h where needed
A subsequent commit will remove it from flatpak-utils-private.h.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-07-09 17:12:55 -03:00
Simon McVittie
14db9d48cf common: Break out the parts of flatpak-utils that deal with FlatpakDir
This breaks the circular dependency between flatpak-utils and flatpak-dir.
There is still a circular dependency between flatpak-dir and
flatpak-dir-utils, but I don't want to make flatpak-dir even larger.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-07-09 17:12:55 -03:00
Simon McVittie
3c82620bab repo-utils: New header for some implementation details of a repository
This will reduce circular dependencies involving FlatpakDir.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-07-09 17:12:55 -03:00
Simon McVittie
89f8f3767a common: Move OCI registry manipulation into FlatpakOciRegistry
This is a step towards making flatpak-utils conceptually "smaller"
than all other translation units, with no dependencies beyond GLib and
libglnx. In particular, consolidating all the OCI registry manipulation
into one place means we can build other translation units without
libarchive.

This would also be a step towards being able to provide a build-time
option to build a libostree-only version of Flatpak without the OCI
feature or the direct libarchive dependency, if someone wanted to
implement that.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-07-09 17:12:55 -03:00
Simon McVittie
722fec4581 utils: Include flatpak-metadata-private.h instead of -run-private.h
This avoids a circular dependency between -run and -utils.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-07-09 17:12:55 -03:00
Chris Williams
7c63731349 doc: Correct special value for flatpak config
To include all languages, the languages key must be set to `*all*`, not
`all`. That was apparently intended to provide symmetry with how the
value is represented in the output of `flatpak config`.
2024-07-09 20:48:07 +01:00
Simon McVittie
fd5c0b1f37 Update NEWS
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-07-09 20:33:46 +01:00
Georges Basile Stavracas Neto
1b4ff8d526 flatpak-run-dbus: Allow two AT-SPI Registry signals in
These signals can be used by apps to monitor whether they need to emit
signals on the a11y bus or not. This can very significantly reduce
chattery on the a11y bus, and at least WebKit relies on these signals
to be broadcasted in.

The PR https://github.com/flatpak/xdg-dbus-proxy/pull/61 is required
for this changeset to work as expected, but it can land independently
as `--broadcast` is supported by xdg-dbus-proxy.
2024-07-09 09:23:32 -03:00
Hubert Figuière
92d7f9ec49 flatpak-permissions: Fix a memory leak
This occur by just running flatpak permission <SOME APP>

Signed-off-by: Hubert Figuière <hub@figuiere.net>
2024-06-27 20:55:50 -04:00
Scrambled777
cee83455e6 Hindi Translation Update
Fixes and update for Hindi translation.
2024-06-27 15:39:47 -03:00
lumingzh
1dbaa59a85 Update Chinese translation 2024-06-27 15:12:57 -03:00
Sebastian Wick
24a4c2464e dir: Free the returned GVariant of g_dbus_connection_call_sync
Closes: https://github.com/flatpak/flatpak/issues/5856
Fixes: 9532c8d3 ("dir: Reload DBus daemon config to ensure services get picked up")
Signed-off-by: Sebastian Wick <sebastian.wick@redhat.com>
2024-06-26 11:47:53 +01:00
Sebastian Wick
c12a5da619 run: Support zoneinfo dirs from $TZDIR env 2024-06-21 11:12:57 -03:00
Sebastian Wick
36b6c86065 common: Simplify tzdir logic in flatpak_get_timezone 2024-06-21 11:12:57 -03:00
Sebastian Wick
da71c451fc common: Add flatpak_get_tzdir() helper 2024-06-21 11:12:57 -03:00
Chris Williams
cfb143bfc7 profile: Install flatpak.csh 2024-06-04 17:23:32 +01:00
Hubert Figuière
ef575a40da Fix a memory leak in flatpak-update
Close https://github.com/flatpak/flatpak/issues/5816

Signed-off-by: Hubert Figuière <hub@figuiere.net>
2024-05-23 22:47:04 -05:00
triallax
c9cdfb4265 tests: improve shell portability
I was trying to get the `flatpak` for Chimera Linux template to run
tests. However, due to Chimera Linux using core utilities based on
FreeBSD's, some stuff used in the test shell scripts didn't work there
and caused issues. While I eventually gave that endeavour up, I wanted
to upstream the upstreamable changes I had anyway.
2024-05-13 14:10:14 -05:00
Hubert Figuière
9d60df4d0c flatpak-dir: Fix a memory leak when installing a package
The path was clobbered make the g_autoptr no work

Signed-off-by: Hubert Figuière <hub@figuiere.net>
2024-05-13 13:44:26 +01:00
Simon McVittie
cf61ffa406 subprojects: Add a README explaining how to manage subprojects
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-05-06 18:34:57 +01:00
Simon McVittie
c982e591ba Use Meson wrap files for bubblewrap and xdg-dbus-proxy
When combined with using `git subtree` for our mandatory vendored
dependencies, this avoids differences between what we ship in our git
repository (available to users via `git clone` or by unpacking the
result of `git archive`), and what's in our official source code
releases (which are the result of `meson dist`).

Differences between those artifacts would provide an attractive place
for attackers to hide malware, for example in CVE-2024-3094, so
avoiding differences is a good "nothing up my sleeve" mechanism to
make it less appealing for attackers to target Flatpak.

With default Meson settings, the wrap files will be used automatically
to download our suggested versions of these dependencies, unless
the `-Dsystem_bubblewrap=...`, `-Dsystem_dbus_proxy=...` Meson options
are used. In environments where automatic downloads are disabled via
`-Dwrap_mode=nodownload`, for example many Linux distributions,
specifying a system copy becomes mandatory.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-05-06 17:11:23 +01:00
Simon McVittie
bd86ef906f Add 'subprojects/variant-schema-compiler/' from commit 'cfc356c38edfcf73c8ac240d215479b950f91b1f'
The workflow is the same as for libglnx.

git-subtree-dir: subprojects/variant-schema-compiler
git-subtree-mainline: 96a8e55b85
git-subtree-split: cfc356c38e
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-05-06 16:16:46 +01:00
Simon McVittie
96a8e55b85 Remove variant-schema-compiler submodule
Same reasoning as for libglnx.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-05-06 16:15:39 +01:00
Simon McVittie
2aed100945 Add 'subprojects/libglnx/' from commit '202b294e6079e23242e65e0426f8639841d1210b'
This makes the flatpak project more self-contained, and would have
avoided the problems we encountered with unintended changes in the
1.14.7 release. See <https://diziet.dreamwidth.org/14666.html> for an
opinionated description of some of the problems with submodules.

If we can eliminate submodules altogether, then it will become possible
to build Flatpak from a simple `git clone` or `git archive`, or from the
source tarballs auto-generated by Github (which are equivalent to a `git
archive`), without needing an extra step to populate the submodules. As
well as reducing the support burden from users periodically complaining
that our source releases are incomplete, this is a useful "nothing up
my sleeve" mechanism to make it easy to verify that our source releases
do not contain malicious changes hidden in vendored or generated files,
like the one that made CVE-2024-3094 possible.

Added with:

    git remote add --no-tags libglnx https://gitlab.gnome.org/GNOME/libglnx.git
    git fetch libglnx
    git subtree add -P subprojects/libglnx 202b294e60
    git commit --amend -s

To compare with upstream:

    git remote add --no-tags libglnx https://gitlab.gnome.org/GNOME/libglnx.git
    git fetch libglnx
    git diff HEAD:subprojects/libglnx libglnx/master

After checking the diff, updates can be merged into this project with:

    git subtree merge -P subprojects/libglnx libglnx/master
    git commit --amend -s

The commit merged here is the same one that was previously a submodule.
A subsequent commit will update it to the latest version of libglnx,
demonstrating how to review such updates.

git-subtree-dir: subprojects/libglnx
git-subtree-mainline: 7df25d63dfde9b4755479950f5b87bafe85cd277
git-subtree-split: 202b294e60
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-05-06 16:13:07 +01:00
Simon McVittie
e94e7318e3 Remove libglnx submodule
This will allow it to be re-added as a `git subtree`, which stores
commit history inline in the flatpak git repository.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-05-06 16:12:43 +01:00
vgdaut
739065e432 dir: Uniformize two similar strings
Related to issue #4746. Unnecessary end whitespaces were removed. Write "remote %s" instead of "remote '%s'".
2024-05-05 13:03:11 -05:00
Simon McVittie
363fffcb08 xml-utils: Don't expose symbols that don't need to be visble
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-05-03 13:21:29 +01:00
Simon McVittie
6e81bc6f28 common: Move functions for dealing with AppStream XML to their own file
This seems like an obvious set of functionality to be grouped together
in service of the wider goal of making flatpak-utils smaller and more
manageable.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-05-03 13:21:29 +01:00