From adc097a2edb1b7aaf5604043b4b1d5bd6ef8a308 Mon Sep 17 00:00:00 2001 From: Valentin David Date: Tue, 2 Nov 2021 19:49:04 +0100 Subject: lib: Fix a bad call to g_file_get_child In Glib, since commit 3a6e8bc8876e149c36b6b14c6a25a718edb581ed, `g_file_get_child` does not accept absolute path as paramater anymore. The broken assertion was encountered during `ostree admin deploy` command for the checkout of subpath `etc`. Example of error log: ``` (ostree admin deploy:1640): GLib-GIO-CRITICAL **: 03:42:00.570: g_file_get_child: assertion '!g_path_is_absolute (name)' failed (ostree admin deploy:1640): GLib-GIO-CRITICAL **: 03:42:00.570: g_file_query_info: assertion 'G_IS_FILE (file)' failed ** OSTree:ERROR:src/ostree/ot-main.c:232:ostree_run: assertion failed: (success || error) Bail out! OSTree:ERROR:src/ostree/ot-main.c:232:ostree_run: assertion failed: (success || error) ``` --- src/libostree/ostree-repo-checkout.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libostree/ostree-repo-checkout.c b/src/libostree/ostree-repo-checkout.c index eadaf905..93e4311d 100644 --- a/src/libostree/ostree-repo-checkout.c +++ b/src/libostree/ostree-repo-checkout.c @@ -1389,7 +1389,7 @@ ostree_repo_checkout_at (OstreeRepo *self, g_autoptr(GFile) target_dir = NULL; if (strcmp (options->subpath, "/") != 0) - target_dir = g_file_get_child (commit_root, options->subpath); + target_dir = g_file_resolve_relative_path (commit_root, options->subpath); else target_dir = g_object_ref (commit_root); g_autoptr(GFileInfo) target_info = -- cgit v1.2.1