summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* meson: Extend timeout for test-oci-registry.shwip/smcv/workflowsSimon McVittie2022-11-171-1/+1
| | | | | | This seems to be slower than usual when we're doing a `make distcheck`. Signed-off-by: Simon McVittie <smcv@collabora.com>
* workflows: Separate distcheck from valgrindSimon McVittie2022-11-171-6/+47
| | | | | | | These are both time-consuming steps, and running them as a single job makes us more likely to hit arbitrary time limits in the CI environment. Signed-off-by: Simon McVittie <smcv@collabora.com>
* workflows: Document another difference between check and check-alt2Simon McVittie2022-11-171-0/+1
| | | | Signed-off-by: Simon McVittie <smcv@collabora.com>
* workflows: Use `meson setup` instead of leaving the `setup` verb implicitSimon McVittie2022-11-171-1/+1
| | | | | | | | Meson 0.64.0 officially deprecates omitting the verb. `meson setup` has been supported since Meson 0.42, which is much older than the oldest version we support. Signed-off-by: Simon McVittie <smcv@collabora.com>
* .gitmodules: Temporarily fetch from my Github fork of v-s-cSimon McVittie2022-11-171-1/+1
| | | | | | | gitlab.gnome.org is currently down, so use a mirror. The specific commit we are using has not changed. Signed-off-by: Simon McVittie <smcv@collabora.com>
* .gitmodules: Temporarily fetch from Github mirror of libglnxSimon McVittie2022-11-171-1/+1
| | | | | | | gitlab.gnome.org is currently down, so use a mirror. The specific commit we are using has not changed. Signed-off-by: Simon McVittie <smcv@collabora.com>
* .gitmodules: Canonicalize URL of bubblewrapSimon McVittie2022-11-171-1/+2
| | | | | | | | | The project was moved to a new namespace a while ago, and is now using the main branch rather than master. The specific commit we are using has not changed. Signed-off-by: Simon McVittie <smcv@collabora.com>
* Update NEWS for #5168Simon McVittie2022-11-171-0/+1
| | | | Signed-off-by: Simon McVittie <smcv@collabora.com>
* doc: Update flatpak-metadata(5) for #5155Simon McVittie2022-11-171-0/+1
| | | | Signed-off-by: Simon McVittie <smcv@collabora.com>
* NEWS: UpdateSimon McVittie2022-11-171-0/+16
| | | | Signed-off-by: Simon McVittie <smcv@collabora.com>
* doc: Update flatpak-run(1) for #5168Simon McVittie2022-11-171-0/+3
| | | | Signed-off-by: Simon McVittie <smcv@collabora.com>
* flatpak-dir: Clean up old leaked deploy dirs at start of deployPhilip Withnall2022-11-161-0/+66
| | | | | | | | | | Following on from commit 85a83a06f95, add some code to clean up old leaked deploy tmpdirs when we next try to deploy the same app (successfully or not). This should free up disk space leaked by failed deploys pre-85a83a06f95. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
* flatpak-dir: Add a debug message to remove_old_appstream_tmpdirs()Philip Withnall2022-11-161-0/+1
| | | | | | | This should make it a bit clearer when `rm -rf` is being used in the debug logs. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
* build: Simplify detection of GPGME when using MesonSimon McVittie2022-11-101-8/+1
| | | | | | | | | | | | | | | In theory we could have ended up linking a non-threadsafe version of GPGME, since the version without the -pthread suffix has only been thread-safe since 1.8.0. In practice we require version 0.53 of Meson (available in Ubuntu 20.04, Debian 11, etc.) so it seems reasonable to require a contemporary version of GPGME (1.8.0 is available in Ubuntu 18.04, Debian 10, etc.) and drop the complexity of handling this in a fully-backwards-compatible way. Users of older LTS distributions like Ubuntu 16.04 should continue to build Flatpak with Autotools. Signed-off-by: Simon McVittie <smcv@collabora.com>
* build: Accept gpgme >= 1.8.0 as equivalent to gpgme-pthreadSimon McVittie2022-11-102-6/+12
| | | | | | | | | | | | | | | | | | | | | Before 1.8.0 (2016), gpgme used to have two different thread-safe builds, one for use with POSIX-style pthread and one for use with GNU Portable Threads (libpth), plus a non-thread-safe version. Since 1.8.0, this complexity has gone away and there is only libgpgme, which is thread-safe. In practice this meant that on modern distros since 2016, we would always fail to detect gpgme via pkg-config and fall back to calling gpgme-config. Library-specific -config scripts are generally considered problematic for multiarch, multilib and cross-compiling, and the gpgme-config script recently disappeared from GPGME's Debian packaging (see https://bugs.debian.org/1022348 and https://bugs.debian.org/1023601), so it's better if we can prefer to use pkg-config. If gpgme >= 1.8.0 is not found, fall back to gpgme-pthread >= 1.1.8, either discovered via pkg-config or via gpgme-config. Signed-off-by: Simon McVittie <smcv@collabora.com>
* workflows: Enable CI for flatpak-1.14.x branchSimon McVittie2022-11-101-0/+2
| | | | Signed-off-by: Simon McVittie <smcv@collabora.com>
* Clear more temporary file paths from envErick5552022-11-101-1/+5
| | | | | This supplements clearing TMPDIR env variable which is only one among variables used for storing temporary files. Any of those leaking from host may confuse flatpak apps which try to save temporary files under non-existing directory in sandbox. See https://github.com/flathub/com.logseq.Logseq/issues/29 for real world example.
* app/meson.build: Add missing depJan Alexander Steffens (heftig)2022-11-031-0/+1
| | | | | Since we include the base private headers, we need the common base sources to be generated.
* flatpak-dir: Use FD-relative operations in a few more placesPhilip Withnall2022-11-011-4/+7
| | | | | | | | | | These are the easy places to use the new `deploy_base_dfd` from to make some more operations relative to an already-open dirfd in `flatpak_dir_deploy()`. This should introduce no functional changes. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
* flatpak-dir: Clean up temp deploy dir on failure of flatpak_dir_deploy()Philip Withnall2022-11-011-6/+9
| | | | | | | | | | | | | | | | | | | This already happens for installs due to the cleanup path in `flatpak_dir_deploy_install()`, but it doesn’t happen for other calls to `flatpak_dir_deploy()`. Notably, during updates of already installed apps. Specifically, this means that if an app update is cancelled due to being blocked by a parental controls policy, the temp deploy dir for that app (such as `~/.local/share/flatpak/app/com.corp.App/x86_64/stable/.somehex-XXXXXX`) will be leaked. It will never be automatically cleaned up, as it’s not in `/var/tmp` either. Fix that by using `glnx_mkdtempat()` to create a scoped temporary directory. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
* Add /efi in the hidding list when (fs=host)Gaël Donval2022-11-011-2/+2
| | | | | | | When filesystem=host access is provided, some root folders are hidden, including /boot. The bootloader specification now recommends mounting the system EFI filesystem in /efi (currently visible) instead of /boot/efi (currently hidden). This hides /efi for the same reasons /boot is already hidden.
* Update NEWSSimon McVittie2022-10-281-0/+10
| | | | Signed-off-by: Simon McVittie <smcv@collabora.com>
* automake: Consistently include $(AM_CFLAGS) in target-specific CFLAGSSimon McVittie2022-10-273-3/+4
| | | | | | | When built for i386 with Autotools, this would have detected the format string issue fixed in #5148. Signed-off-by: Simon McVittie <smcv@collabora.com>
* revokefs: Remove incorrect libglnx include directorySimon McVittie2022-10-271-1/+1
| | | | | | | revokefs already gets the correct include directory from the AM_CPPFLAGS. This would also break the build with -Werror=missing-include-dirs. Signed-off-by: Simon McVittie <smcv@collabora.com>
* revokefs: Use correct format string for a ssize_tSimon McVittie2022-10-251-1/+1
| | | | | | | | | | This fixes the build on ILP32 architectures such as i386 with the Meson build system. The Autotools build system accidentally didn't build revokefs with -Werror=format, because it sets the target-specific CFLAGS for revokefs but does not include the $(AM_CFLAGS) in them. Fixes: aeecbb7d "revokefs: Split out the writing part from the fuse implementation" Signed-off-by: Simon McVittie <smcv@collabora.com>
* Update translation files for release1.15.0Simon McVittie2022-10-2423-565/+587
| | | | Signed-off-by: Simon McVittie <smcv@collabora.com>
* Release v1.15.0Simon McVittie2022-10-243-5/+6
| | | | Signed-off-by: Simon McVittie <smcv@collabora.com>
* Update NEWSSimon McVittie2022-10-241-0/+44
| | | | Signed-off-by: Simon McVittie <smcv@collabora.com>
* Update release checklist for merge of Meson build systemSimon McVittie2022-10-241-1/+2
| | | | Signed-off-by: Simon McVittie <smcv@collabora.com>
* build: Require Meson 0.53.0Simon McVittie2022-10-241-34/+22
| | | | | | This lets us drop some fallback code paths. Signed-off-by: Simon McVittie <smcv@collabora.com>
* meson: Depend on Meson 0.51.0Simon McVittie2022-10-241-42/+2
| | | | | | This lets us drop the complicated fallback logic for libgpgme. Signed-off-by: Simon McVittie <smcv@collabora.com>
* meson: Depend on Meson 0.50.0Simon McVittie2022-10-244-79/+26
| | | | | | | This sacrifices compatibility with Debian 10 to let us simplify how tests are set up. Signed-off-by: Simon McVittie <smcv@collabora.com>
* workflows: Use Meson for the main buildSimon McVittie2022-10-241-13/+15
| | | | | | | | | | | This is somewhat faster than Autotools. We still use Autotools for the alt, clang and valgrind builds, to make sure we cover both. As a bonus, the use of undefined behaviour and address sanitizers here actually works (unlike in Autotools, see #4844) so we're getting test coverage with detection of common issues like use-after-free. Signed-off-by: Simon McVittie <smcv@collabora.com>
* Run a Meson build during distcheckSimon McVittie2022-10-241-0/+11
| | | | | | | This verifies that all the necessary files for the Meson build are in the Autotools-built tarball. Signed-off-by: Simon McVittie <smcv@collabora.com>
* Add a Meson build systemSimon McVittie2022-10-2447-1/+2435
| | | | | Resolves: https://github.com/flatpak/flatpak/issues/2241 Signed-off-by: Simon McVittie <smcv@collabora.com>
* testlib: Remove local backport of g_assert_no_errno()Simon McVittie2022-10-241-5/+0
| | | | | | libglnx now provides this. Signed-off-by: Simon McVittie <smcv@collabora.com>
* Update libglnx to commit e701578cSimon McVittie2022-10-241-0/+0
| | | | | | | | In particular, this version has more gtestutils backports, including a version of g_test_message() that preserves correct TAP syntax for multi-line messages. Signed-off-by: Simon McVittie <smcv@collabora.com>
* profile.d: Do not destroy XDG_DATA_DIRS in fishJan Tojnar2022-10-141-1/+1
| | | | | | | | | | | | | | | The profile script previously nuked `XDG_DATA_DIRS` and then “helpfully” re-populated it with FHS paths. This was especially bad for systems like NixOS, which do not have `/usr` and rely on `XDG_DATA_DIRS` heavily. Quoting from https://fishshell.com/docs/current/cmds/set.html > If a variable is set to zero elements, it will become a list with zero elements. And indeed, that is what the `set -x --path XDG_DATA_DIRS` command does. We need to list the value explicitly, if we want to preserve it while setting variable options.
* Update Brazilian Portuguese translationRafael Fontenelle2022-10-141-149/+161
|
* Update Polish translationPiotr Drąg2022-10-141-146/+130
|
* Update Indonesian translationKukuh Syafaat2022-10-141-233/+242
|
* Update Czech translationAsciiWolf2022-10-141-137/+152
|
* session-helper: Run default signal handler after handle_sigterm()Alberto Garcia2022-10-061-1/+4
| | | | | | | | Exiting the process with a custom exit status (1) after systemctl stop (SIGTERM) makes systemd treat the flatpak-session-helper service as if it had failed. Signed-off-by: Alberto Garcia <berto@igalia.com>
* README: update logoJakub Steiner2022-09-261-0/+0
| | | | See https://github.com/flatpak/flatpak.github.io/issues/537
* Block KRB5CCNAME from inheriting into sandboxMichael Catanzaro2022-09-192-1/+4
| | | | | | | | | | | | | | | If this environment variable is set on the host, it's going to mess up authentication in the sandbox. For example, if the host has: KRB5CCNAME=KCM: then the sandboxed process will try to use the host KCM socket, which is not available in the sandboxed environment, rather than the gssproxy socket that we want it to use. We need to unset it to ensure that whatever configuration we ship in the runtime gets used instead. We have switched the GNOME runtime to use an empty krb5.conf and it works as long as we don't break it with this environment variable meant for the host.
* Bind gssproxy socket into sandbox environmentMichael Catanzaro2022-09-191-1/+17
| | | | | | | | | | | | | We're using a directory rather than binding a socket directly for increased robustness. In theory, if gssproxy crashes on the host, a new socket that a new gssproxy process creates should be immediately visible inside the sandbox. Nifty. Previously, applications that wanted to use Kerberos authentication would have to punch a sandbox hole for the host's KCM socket. In contrast, this gssproxy socket is designed for use by sandboxed apps. See also: https://github.com/gssapi/gssproxy/issues/45
* enum-types: Make generated files more reproducibleSimon McVittie2022-09-072-2/+2
| | | | | | | | | `@filename@` expands to the relative or absolute path to the source file, which varies between build systems and build directories. `@basename@` expands to the basename of the file, which stays constant across more build configurations. Signed-off-by: Simon McVittie <smcv@collabora.com>
* workflows: Compile with Ubuntu 18.04's GLib, but use 2.60 to run testsSimon McVittie2022-09-071-15/+15
| | | | | | | | | | | | This avoids a race condition in versions older than 2.60, while still verifying that we can compile successfully with GLib 2.56. Not having GLib 2.60 means we can't compile libmalcontent on Ubuntu 18.04, so move the libmalcontent dependency to the main build job (on Ubuntu 22.04, which is new enough). This also means we don't have to compile it from source every time. Signed-off-by: Simon McVittie <smcv@collabora.com>
* uri: Don't rely on g_time_zone_new_offset()Simon McVittie2022-09-071-1/+36
| | | | | | | | | g_time_zone_new_offset() was new in GLib 2.58, but Ubuntu 18.04 'bionic' only has GLib 2.56, and in theory we still claim to support versions all the way back to GLib 2.46. If that function isn't available, reimplement it in terms of the deprecated g_time_zone_new(). Signed-off-by: Simon McVittie <smcv@collabora.com>
* build: Bump version to 1.14.99 for 1.15.0 developmentSimon McVittie2022-09-061-1/+1
| | | | Signed-off-by: Simon McVittie <smcv@collabora.com>