From 6ac880c9597ba5bf9a5d90bd8e8186d443483af2 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Tue, 10 Mar 2015 09:07:12 -0400 Subject: [PATCH] deployment: Add an API to get relative origin path This will be used for fd-relative cleanups. --- src/libostree/ostree-deployment.c | 19 +++++++++++++++++++ src/libostree/ostree-deployment.h | 1 + 2 files changed, 20 insertions(+) diff --git a/src/libostree/ostree-deployment.c b/src/libostree/ostree-deployment.c index 4533715c..0f98c598 100644 --- a/src/libostree/ostree-deployment.c +++ b/src/libostree/ostree-deployment.c @@ -252,3 +252,22 @@ ostree_deployment_new (int index, self->bootserial = bootserial; return self; } + +/** + * ostree_deployment_get_origin_relpath: + * @self: A deployment + * + * Note this function only returns a *relative* path - if you want to + * access, it, you must either use fd-relative api such as openat(), + * or concatenate it with the full ostree_sysroot_get_path(). + * + * Returns: (transfer full): Path to deployment root directory, relative to sysroot + */ +char * +ostree_deployment_get_origin_relpath (OstreeDeployment *self) +{ + return g_strdup_printf ("ostree/deploy/%s/deploy/%s.%d.origin", + ostree_deployment_get_osname (self), + ostree_deployment_get_csum (self), + ostree_deployment_get_deployserial (self)); +} diff --git a/src/libostree/ostree-deployment.h b/src/libostree/ostree-deployment.h index 0dbe6f1b..dc28d63a 100644 --- a/src/libostree/ostree-deployment.h +++ b/src/libostree/ostree-deployment.h @@ -58,5 +58,6 @@ void ostree_deployment_set_origin (OstreeDeployment *self, GKeyFile *origin); OstreeDeployment *ostree_deployment_clone (OstreeDeployment *self); +char *ostree_deployment_get_origin_relpath (OstreeDeployment *self); G_END_DECLS