From e3ad81c3bfa2294d42b2295664db4072381d9d20 Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Thu, 20 Mar 2025 19:21:40 -0400 Subject: Remove extras in more locations --- src/lib/delivery/delivery.c | 10 +--------- src/lib/delivery/delivery_install.c | 1 + 2 files changed, 2 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/lib/delivery/delivery.c b/src/lib/delivery/delivery.c index 7ae2b01..499b680 100644 --- a/src/lib/delivery/delivery.c +++ b/src/lib/delivery/delivery.c @@ -210,15 +210,7 @@ void delivery_defer_packages(struct Delivery *ctx, int type) { } else { strncpy(package_name, name, sizeof(package_name) - 1); } - - char *extra_begin = strchr(package_name, '['); - char *extra_end = NULL; - if (extra_begin) { - extra_end = strchr(extra_begin, ']'); - if (extra_end) { - *extra_begin = '\0'; - } - } + remove_extras(package_name); msg(STASIS_MSG_L3, "package '%s': ", package_name); diff --git a/src/lib/delivery/delivery_install.c b/src/lib/delivery/delivery_install.c index cf6ccaa..6432bef 100644 --- a/src/lib/delivery/delivery_install.c +++ b/src/lib/delivery/delivery_install.c @@ -35,6 +35,7 @@ static char *have_spec_in_config(const struct Delivery *ctx, const char *name) { } else { strncpy(package, config_spec, sizeof(package) - 1); } + remove_extras(package); if (strncmp(package, name, strlen(package)) == 0) { return config_spec; } -- cgit From 6c2ef3a3be142fd58a10c774edebe415236ebbc4 Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Thu, 20 Mar 2025 19:22:18 -0400 Subject: Free lists using guard_ macro --- src/lib/delivery/delivery.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/lib/delivery/delivery.c b/src/lib/delivery/delivery.c index 499b680..d480ab4 100644 --- a/src/lib/delivery/delivery.c +++ b/src/lib/delivery/delivery.c @@ -286,10 +286,10 @@ void delivery_defer_packages(struct Delivery *ctx, int type) { msg(STASIS_MSG_WARN | STASIS_MSG_L2, "No %s packages were filtered by test definitions\n", mode); } else { if (DEFER_CONDA == type) { - strlist_free(&ctx->conda.conda_packages); + guard_strlist_free(&ctx->conda.conda_packages); ctx->conda.conda_packages = strlist_copy(filtered); } else if (DEFER_PIP == type) { - strlist_free(&ctx->conda.pip_packages); + guard_strlist_free(&ctx->conda.pip_packages); ctx->conda.pip_packages = strlist_copy(filtered); } } -- cgit From 86132cce8f679b6f5369e4e5b09278d4f02049b8 Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Thu, 20 Mar 2025 19:23:02 -0400 Subject: Do not populate frozen_list if pip freeze returns nothing --- src/lib/delivery/delivery_install.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/lib/delivery/delivery_install.c b/src/lib/delivery/delivery_install.c index 6432bef..8550a43 100644 --- a/src/lib/delivery/delivery_install.c +++ b/src/lib/delivery/delivery_install.c @@ -64,7 +64,9 @@ int delivery_overlay_packages_from_env(struct Delivery *ctx, const char *env_nam guard_free(current_env); struct StrList *frozen_list = strlist_init(); - strlist_append_tokenize(frozen_list, freeze_output, LINE_SEP); + if (!isempty(freeze_output)) { + strlist_append_tokenize(frozen_list, freeze_output, LINE_SEP); + } guard_free(freeze_output); struct StrList *new_list = strlist_init(); -- cgit From edd6f8819fdfdc900cc5069665c6fac73ea14edf Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Thu, 20 Mar 2025 19:24:04 -0400 Subject: Always use the local index --- src/lib/delivery/delivery_install.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/lib/delivery/delivery_install.c b/src/lib/delivery/delivery_install.c index 8550a43..246c604 100644 --- a/src/lib/delivery/delivery_install.c +++ b/src/lib/delivery/delivery_install.c @@ -224,9 +224,10 @@ int delivery_install_packages(struct Delivery *ctx, char *conda_install_dir, cha if (!ctx->meta.based_on) { strcat(cmd, " --upgrade"); } - sprintf(cmd + strlen(cmd), " --extra-index-url 'file://%s'", ctx->storage.wheel_artifact_dir); } + sprintf(cmd + strlen(cmd), " --extra-index-url 'file://%s'", ctx->storage.wheel_artifact_dir); + for (size_t x = 0; manifest[x] != NULL; x++) { char *name = NULL; for (size_t p = 0; p < strlist_count(manifest[x]); p++) { -- cgit