Skip to content

3.x: LTS-PRIOR enterprise fallback filter is corrupted by Make $ expansion #1045

Description

@nikagra

Makefile:134 (branch scylla-3.x), in the LTS-PRIOR arm of resolve-scylla-version, passes the
scylladb/scylla-enterprise fallback filter with a single $:

SCYLLA_VERSION_RESOLVED=$$(get-version --source dockerhub-imagetag --repo scylladb/scylla-enterprise -filters "^[0-9]{4}$.^[0-9]+$.^[0-9]+$ and LAST-1.1.LAST" | tr -d '\"')

Make expands $. to the empty string (. is an undefined single-character variable), so
get-version receives "^[0-9]{4}^[0-9]+^[0-9]+ and LAST-1.1.LAST" — a corrupted regex. The
fallback is therefore silently inert.

Every sibling line in the same target escapes it correctly as $$, and scylla-4.x has the
correct form at the equivalent line. Fix is $$$ in that one string.

Reachable today only when the primary scylladb/scylla lookup for LTS-PRIOR returns nothing.
Note this line sits inside resolve-scylla-version, the target rewritten by #1044, so rebase on
that.

Found while auditing version resolution for DRIVER-925.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions