[ostree] repo: Check for OSTREE_REPO in ostree_repo_new_default()
- From: Matthew Barnes <mbarnes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ostree] repo: Check for OSTREE_REPO in ostree_repo_new_default()
- Date: Fri, 20 Feb 2015 01:44:56 +0000 (UTC)
commit 5aa0d51d7a55c48aa986ddbacbeb74e224c2be72
Author: Matthew Barnes <mbarnes redhat com>
Date: Thu Feb 19 10:30:25 2015 -0500
repo: Check for OSTREE_REPO in ostree_repo_new_default()
Convenience feature to avoid having to pass --repo options repeatedly.
Before falling back to the default system repository path, check for a
repository path defined by the OSTREE_REPO environment variable.
doc/ostree.repo.xml | 6 ++++--
src/libostree/ostree-repo.c | 14 +++++++++++---
2 files changed, 15 insertions(+), 5 deletions(-)
---
diff --git a/doc/ostree.repo.xml b/doc/ostree.repo.xml
index eb9e329..b8ad405 100644
--- a/doc/ostree.repo.xml
+++ b/doc/ostree.repo.xml
@@ -70,8 +70,10 @@
<para>
There is a system repository located at
<filename>/ostree/repo</filename>. If no repository
- is specified, the <command>ostree</command> as well
- as many API calls will use it by default.
+ is specified -- either by a command-line option or the
+ <envar>OSTREE_REPO</envar> environment variable --
+ the <command>ostree</command> as well as many API
+ calls will use it by default.
</para>
</refsect1>
diff --git a/src/libostree/ostree-repo.c b/src/libostree/ostree-repo.c
index 85792d8..62fff9e 100644
--- a/src/libostree/ostree-repo.c
+++ b/src/libostree/ostree-repo.c
@@ -511,7 +511,8 @@ get_default_repo_path (void)
*
* If the current working directory appears to be an OSTree
* repository, create a new #OstreeRepo object for accessing it.
- * Otherwise, use the default system repository located at
+ * Otherwise use the path in the OSTREE_REPO environment variable
+ * (if defined) or else the default system repository located at
* /ostree/repo.
*
* Returns: (transfer full): An accessor object for an OSTree repository located at /ostree/repo
@@ -527,8 +528,15 @@ ostree_repo_new_default (void)
}
else
{
- gs_unref_object GFile *default_repo_path = get_default_repo_path ();
- return ostree_repo_new (default_repo_path);
+ const char *envvar = g_getenv ("OSTREE_REPO");
+ gs_unref_object GFile *repo_path = NULL;
+
+ if (envvar == NULL || *envvar == '\0')
+ repo_path = get_default_repo_path ();
+ else
+ repo_path = g_file_new_for_path (envvar);
+
+ return ostree_repo_new (repo_path);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]