From 79df7151b68a78f98c012eaf552a0609728fc533 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Sat, 12 Mar 2022 11:35:25 +0000 Subject: dir: Consistently use relative paths for libostree subpaths MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The subpath is resolved relative to the root of the commit, so we can use either an absolute or a relative path interchangeably. When using libostree < 2021.6 with GLib >= 2.71, absolute paths cause an assertion failure here; that was a libostree bug and was fixed in 2021.6, but we can interoperate with more versions by sticking to relative paths, and there's no real reason to prefer absolute. Resolves: https://github.com/flatpak/flatpak/issues/4805 Co-authored-by: Corentin Noël Signed-off-by: Simon McVittie (cherry picked from commit 2df1b1628c277cd4ce2d40c31bd6a3eb3ee9662e) --- common/flatpak-dir.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/flatpak-dir.c b/common/flatpak-dir.c index 7521adbf..3f8f2567 100644 --- a/common/flatpak-dir.c +++ b/common/flatpak-dir.c @@ -8406,7 +8406,7 @@ flatpak_dir_deploy (FlatpakDir *self, if (!g_file_make_directory_with_parents (files, cancellable, error)) return FALSE; - options.subpath = "/metadata"; + options.subpath = "metadata"; if (!ostree_repo_checkout_at (self->repo, &options, AT_FDCWD, checkoutdirpath, @@ -8419,7 +8419,7 @@ flatpak_dir_deploy (FlatpakDir *self, for (i = 0; subpaths[i] != NULL; i++) { - g_autofree char *subpath = g_build_filename ("/files", subpaths[i], NULL); + g_autofree char *subpath = g_build_filename ("files", subpaths[i], NULL); g_autofree char *dstpath = g_build_filename (checkoutdirpath, "/files", subpaths[i], NULL); g_autofree char *dstpath_parent = g_path_get_dirname (dstpath); g_autoptr(GFile) child = NULL; -- cgit v1.2.1