Skip to content

docker-buildx-plugin packages use incorrect version format #814

@thaJeztah

Description

@thaJeztah

The version string is not formatted correctly (using -rc2, with a hyphen), which causes 0.10.0-rc2 to be considered newer than 0.10.0;

apt-cache madison docker-buildx-plugin
docker-buildx-plugin | 0.10.0-rc2~ubuntu-jammy | https://download-stage.docker.com/linux/ubuntu jammy/test amd64 Packages
docker-buildx-plugin | 0.10.0~ubuntu-jammy | https://download-stage.docker.com/linux/ubuntu jammy/test amd64 Packages
docker-buildx-plugin | 0.9.1~ubuntu-jammy | https://download-stage.docker.com/linux/ubuntu jammy/test amd64 Packages
docker-buildx-plugin | 0.8.2~ubuntu-jammy | https://download-stage.docker.com/linux/ubuntu jammy/test amd64 Packages

For the docker-ce and docker-ce-cli packages we have code in place to generate a correct version string (using ~ instead of -, and appending a -0 for packaging fixes);

apt-cache madison docker-ce
docker-ce | 5:23.0.0~rc.2-0~ubuntu.22.04.0~jammy | https://download-stage.docker.com/linux/ubuntu jammy/test amd64 Packages
docker-ce | 5:23.0.0~rc.1-0~ubuntu.22.04.0~jammy | https://download-stage.docker.com/linux/ubuntu jammy/test amd64 Packages
docker-ce | 5:23.0.0~beta.1-0~ubuntu.22.04.0~jammy | https://download-stage.docker.com/linux/ubuntu jammy/test amd64 Packages
docker-ce | 5:22.06.0~beta.0-0~ubuntu.22.04.0~jammy | https://download-stage.docker.com/linux/ubuntu jammy/test amd64 Packages
docker-ce | 5:20.10.22~3-0~ubuntu-jammy | https://download-stage.docker.com/linux/ubuntu jammy/test amd64 Packages
docker-ce | 5:20.10.21~3-0~ubuntu-jammy | https://download-stage.docker.com/linux/ubuntu jammy/test amd64 Packages
docker-ce | 5:20.10.20~3-0~ubuntu-jammy | https://download-stage.docker.com/linux/ubuntu jammy/test amd64 Packages
docker-ce | 5:20.10.19~3-0~ubuntu-jammy | https://download-stage.docker.com/linux/ubuntu jammy/test amd64 Packages
docker-ce | 5:20.10.18~3-0~ubuntu-jammy | https://download-stage.docker.com/linux/ubuntu jammy/test amd64 Packages
docker-ce | 5:20.10.17~3-0~ubuntu-jammy | https://download-stage.docker.com/linux/ubuntu jammy/test amd64 Packages
docker-ce | 5:20.10.16~3-0~ubuntu-jammy | https://download-stage.docker.com/linux/ubuntu jammy/test amd64 Packages
docker-ce | 5:20.10.15~3-0~ubuntu-jammy | https://download-stage.docker.com/linux/ubuntu jammy/test amd64 Packages
docker-ce | 5:20.10.14~3-0~ubuntu-jammy | https://download-stage.docker.com/linux/ubuntu jammy/test amd64 Packages
docker-ce | 5:20.10.13~3-0~ubuntu-jammy | https://download-stage.docker.com/linux/ubuntu jammy/test amd64 Packages

Changes for the docker-ce / docker-ce-cli packages were added in #701

But the version-string for Buildx (and other plugins) are passed as-is, and likely because of that result in the incorrect format;

override_dh_gencontrol:
# Use separate version for the buildx-plugin package, then generate the other control files as usual
# TODO override "Source" field in control as well (to point to buildx, as it doesn't match the package name)
dh_gencontrol -pdocker-buildx-plugin -- -v$${BUILDX_VERSION#v}~$${DISTRO}-$${SUITE}
# Use separate version for the compose-plugin package, then generate the other control files as usual
# TODO override "Source" field in control as well (to point to compose, as it doesn't match the package name)
dh_gencontrol -pdocker-compose-plugin -- -v$${COMPOSE_VERSION#v}~$${DISTRO}-$${SUITE}
# Use separate version for the scan-plugin package, then generate the other control files as usual
# TODO override "Source" field in control as well (to point to scan-cli-plugin, as it doesn't match the package name)
# TODO change once we support scan-plugin on other architectures (see dpkg-architecture -L)
if [ "$(TARGET_ARCH)" = "amd64" ]; then \
dh_gencontrol -pdocker-scan-plugin -- -v$${SCAN_VERSION#v}~$${DISTRO}-$${SUITE}; \
fi
dh_gencontrol --remaining-packages

Metadata

Metadata

Assignees

No one assigned

    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