aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2025-06-27 12:41:05 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2025-06-27 12:41:05 -0400
commit54a3824b06c80e5e6bbe11a5dc102de85f47f15a (patch)
tree67c57b2bc9244a73d5a1afbda87a0f77f1de3367
parentae51f1dcf5b09ae8b27577e2ffd3da85da02e1ef (diff)
downloadstasis-54a3824b06c80e5e6bbe11a5dc102de85f47f15a.tar.gz
When a second '@' is present, extract the version
-rw-r--r--src/lib/delivery/delivery.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/lib/delivery/delivery.c b/src/lib/delivery/delivery.c
index d480ab4..5c2767c 100644
--- a/src/lib/delivery/delivery.c
+++ b/src/lib/delivery/delivery.c
@@ -225,7 +225,15 @@ void delivery_defer_packages(struct Delivery *ctx, int type) {
// Override test->version when a version is provided by the (pip|conda)_package list item
guard_free(test->version);
if (spec_begin && spec_end) {
- test->version = strdup(spec_end);
+ char *version_at = strrchr(spec_end, '@');
+ if (version_at) {
+ if (strlen(version_at)) {
+ version_at++;
+ }
+ test->version = strdup(version_at);
+ } else {
+ test->version = strdup(spec_end);
+ }
} else {
// There are too many possible default branches nowadays: master, main, develop, xyz, etc.
// HEAD is a safe bet.