diff options
| author | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-03-07 10:08:13 -0500 | 
|---|---|---|
| committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-03-07 10:08:13 -0500 | 
| commit | 6a1ab047bfb7abe6bae70cab79143c34b5a9b2e1 (patch) | |
| tree | 5ace83341103cdd6b8b22a987dd8561b6e12fdce /src/deliverable.c | |
| parent | d918d14bd6836777d822da368bb16ef0789c2e9c (diff) | |
| download | stasis-6a1ab047bfb7abe6bae70cab79143c34b5a9b2e1.tar.gz | |
Add OMC_ROOT environment to control where OMC writes its files to
Diffstat (limited to 'src/deliverable.c')
| -rw-r--r-- | src/deliverable.c | 12 | 
1 files changed, 11 insertions, 1 deletions
| diff --git a/src/deliverable.c b/src/deliverable.c index 5b0d3ff..5f154b5 100644 --- a/src/deliverable.c +++ b/src/deliverable.c @@ -206,7 +206,17 @@ void delivery_free(struct Delivery *ctx) {  }  void delivery_init_dirs(struct Delivery *ctx) { -    path_store(&ctx->storage.root, PATH_MAX, "omc", ""); +    char *rootdir = getenv("OMC_ROOT"); +    if (rootdir) { +        if (isempty(rootdir)) { +            fprintf(stderr, "OMC_ROOT is set, but empty. Please assign a file system path to this environment variable.\n"); +            exit(1); +        } +        path_store(&ctx->storage.root, PATH_MAX, rootdir, ""); +    } else { +        // use "omc" in current working directory +        path_store(&ctx->storage.root, PATH_MAX, "omc", ""); +    }      path_store(&ctx->storage.tools_dir, PATH_MAX, ctx->storage.root, "tools");      path_store(&ctx->storage.tmpdir, PATH_MAX, ctx->storage.root, "tmp"); | 
