From bddde6dde420ae9d0bc6d8c2ad6865de7e90c73e Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Wed, 18 Feb 2026 18:02:11 -0500 Subject: Error checking and sequencing * Add error checks for allocations * Check docker is usable on Linux, if not fall back to the host tools * check_system_requirements initializes the docker capabilities struct --- src/lib/delivery/delivery_build.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'src/lib/delivery') diff --git a/src/lib/delivery/delivery_build.c b/src/lib/delivery/delivery_build.c index d1239e4..2f31b33 100644 --- a/src/lib/delivery/delivery_build.c +++ b/src/lib/delivery/delivery_build.c @@ -193,10 +193,19 @@ struct StrList *delivery_build_wheels(struct Delivery *ctx) { return NULL; } - if (!strcmp(ctx->system.platform[DELIVERY_PLATFORM], "Linux")) { - asprintf(&cmd, "-m cibuildwheel --output-dir %s --only cp%s-manylinux_%s", outdir, ctx->meta.python_compact, ctx->system.arch); - } else { - asprintf(&cmd, "-m build -w -o %s", outdir); + if (asprintf(&cmd, "-m build -w -o %s", outdir) < 0) { + SYSERROR("%s", "Unable to allocate memory for build command"); + return NULL; + } + if (!strcmp(ctx->system.platform[DELIVERY_PLATFORM], "Linux") + && globals.enable_docker + && ctx->deploy.docker.capabilities.usable) { + guard_free(cmd); + if (asprintf(&cmd, "-m cibuildwheel --output-dir %s --only cp%s-manylinux_%s", + outdir, ctx->meta.python_compact, ctx->system.arch) < 0) { + SYSERROR("%s", "Unable to allocate memory for cibuildwheel command"); + return NULL; + } } if (python_exec(cmd)) { -- cgit