[ostree] core: Use default /sysroot/ostree/repo or just /ostree/repo as appropriate



commit 202c5e35c9c3ae68e5faae9a090090155d689e46
Author: Colin Walters <walters verbum org>
Date:   Sun Feb 24 10:00:23 2013 -0500

    core: Use default /sysroot/ostree/repo or just /ostree/repo as appropriate
    
    The old logic was just weird, special casing root, and we can easily
    autodetect the case where we need /ostree/repo.

 src/ostree/ot-main.c |   19 ++++++++++++-------
 1 files changed, 12 insertions(+), 7 deletions(-)
---
diff --git a/src/ostree/ot-main.c b/src/ostree/ot-main.c
index 0045f32..7e9699e 100644
--- a/src/ostree/ot-main.c
+++ b/src/ostree/ot-main.c
@@ -84,12 +84,13 @@ ostree_run (int    argc,
   GError *error = NULL;
   int cmd_argc;
   char **cmd_argv = NULL;
-  gboolean am_root;
   gboolean have_repo_arg;
   const char *binname = NULL;
   const char *slash = NULL;
   const char *cmd = NULL;
   const char *repo = NULL;
+  const char *sysroot_repo_path = "/sysroot/ostree/repo";
+  const char *host_repo_path = "/ostree/repo";
   GFile *repo_file = NULL;
   int arg_off;
 
@@ -103,15 +104,19 @@ ostree_run (int    argc,
   if (argc < 2)
     return ostree_usage (argv, commands, TRUE);
 
-  am_root = getuid () == 0;
   have_repo_arg = g_str_has_prefix (argv[1], "--repo=");
 
-  if (!have_repo_arg && am_root)
-    repo = "/sysroot/ostree/repo";
-  else if (have_repo_arg)
-    repo = argv[1] + strlen ("--repo=");
+  if (have_repo_arg)
+    {
+      repo = argv[1] + strlen ("--repo=");
+    }
   else
-    repo = NULL;
+    {
+      if (g_file_test (sysroot_repo_path, G_FILE_TEST_EXISTS))
+        repo = sysroot_repo_path;
+      else if (g_file_test (host_repo_path, G_FILE_TEST_EXISTS))
+        repo = host_repo_path;
+    }
 
   if (repo)
     repo_file = g_file_new_for_path (repo);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]