diff options
| -rw-r--r-- | src/lib/delivery/delivery_init.c | 16 | ||||
| -rw-r--r-- | src/lib/delivery/delivery_populate.c | 14 | 
2 files changed, 19 insertions, 11 deletions
| diff --git a/src/lib/delivery/delivery_init.c b/src/lib/delivery/delivery_init.c index fe60075..56c591a 100644 --- a/src/lib/delivery/delivery_init.c +++ b/src/lib/delivery/delivery_init.c @@ -289,10 +289,18 @@ int bootstrap_build_info(struct Delivery *ctx) {      struct Delivery local = {0};      local._stasis_ini_fp.cfg = ini_open(ctx->_stasis_ini_fp.cfg_path);      local._stasis_ini_fp.delivery = ini_open(ctx->_stasis_ini_fp.delivery_path); -    delivery_init_platform(&local); -    populate_delivery_cfg(&local, INI_READ_RENDER); -    populate_delivery_ini(&local, INI_READ_RENDER); -    populate_info(&local); +    if (delivery_init_platform(&local)) { +        return -1; +    } +    if (populate_delivery_cfg(&local, INI_READ_RENDER)) { +        return -1; +    } +    if (populate_delivery_ini(&local, INI_READ_RENDER)) { +        return -1; +    } +    if (populate_info(&local)) { +        return -1; +    }      ctx->info.build_name = strdup(local.info.build_name);      ctx->info.build_number = strdup(local.info.build_number);      ctx->info.release_name = strdup(local.info.release_name); diff --git a/src/lib/delivery/delivery_populate.c b/src/lib/delivery/delivery_populate.c index f242328..84676f1 100644 --- a/src/lib/delivery/delivery_populate.c +++ b/src/lib/delivery/delivery_populate.c @@ -171,13 +171,7 @@ int populate_delivery_ini(struct Delivery *ctx, int render_mode) {      int err = 0;      ctx->meta.mission = ini_getval_str(ini, "meta", "mission", render_mode, &err); - -    if (!strcasecmp(ctx->meta.mission, "hst")) { -        ctx->meta.codename = ini_getval_str(ini, "meta", "codename", render_mode, &err); -    } else { -        ctx->meta.codename = NULL; -    } - +    ctx->meta.codename = ini_getval_str(ini, "meta", "codename", render_mode, &err);      ctx->meta.version = ini_getval_str(ini, "meta", "version", render_mode, &err);      ctx->meta.name = ini_getval_str(ini, "meta", "name", render_mode, &err);      ctx->meta.rc = ini_getval_int(ini, "meta", "rc", render_mode, &err); @@ -215,6 +209,12 @@ int populate_delivery_ini(struct Delivery *ctx, int render_mode) {          guard_free(ctx->info.build_number);      } +    // Fail if a mission requires a codename, but one is not defined +    if (strstr(ctx->rules.release_fmt, "%c") && isempty(ctx->meta.codename)) { +        SYSERROR("Mission type '%s' requires meta.codename to be defined", ctx->meta.mission); +        return -1; +    } +      if (delivery_format_str(ctx, &ctx->info.release_name, ctx->rules.release_fmt)) {          fprintf(stderr, "Failed to generate release name. Format used: %s\n", ctx->rules.release_fmt);          return -1; | 
