diff options
author | Colin Walters <walters@verbum.org> | 2013-07-05 17:29:07 -0400 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2013-07-05 17:29:07 -0400 |
commit | ecb3f0de035c09d8b280ac116eeede483638fd5d (patch) | |
tree | a67835449169e25ad7674262d39ada3296b10fd2 | |
parent | e8cba55a343fd192d71834aec99d2f3f10e209b4 (diff) | |
download | ostree-ecb3f0de035c09d8b280ac116eeede483638fd5d.tar.gz |
deploy: Error out if we see usr/etc
This version of the code doesn't know what to do with new-model trees,
so just abort if we see that. We'll likely never care about upgrades
from 1.0 to 2.0.
-rw-r--r-- | src/ostree/ot-admin-builtin-deploy.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/ostree/ot-admin-builtin-deploy.c b/src/ostree/ot-admin-builtin-deploy.c index 45697618..c13ac56b 100644 --- a/src/ostree/ot-admin-builtin-deploy.c +++ b/src/ostree/ot-admin-builtin-deploy.c @@ -509,6 +509,7 @@ deploy_tree (OtAdminDeploy *self, { ProcessOneCheckoutData checkout_data; ot_lobj GFile *triggers_run_path = NULL; + gs_unref_object GFile *usr_etc_path = NULL; g_print ("ostadmin: Creating deployment %s\n", gs_file_get_path_cached (self->deploy_target_path)); @@ -528,6 +529,14 @@ deploy_tree (OtAdminDeploy *self, if (checkout_data.caught_error) goto out; + usr_etc_path = g_file_resolve_relative_path (deploy_target_path_tmp, "usr/etc"); + if (g_file_query_exists (usr_etc_path, NULL)) + { + g_set_error (error, G_IO_ERROR, G_IO_ERROR_INVALID_ARGUMENT, + "Error: This tree contains usr/etc; it is likely an OS in version 2.0 format, and this version of OSTree does not support it"); + goto out; + } + triggers_run_path = g_file_resolve_relative_path (deploy_target_path_tmp, "usr/share/ostree/triggers-run"); if (!g_file_query_exists (triggers_run_path, NULL)) |