Skip to content

Conversation

@vvoland
Copy link
Collaborator

@vvoland vvoland commented Sep 18, 2025

Adjust deb epoch to match current packages

The "default" epoch is 5 is only used for docker-ce and
docker-ce-cli.

Plugins override the version with their own env variable which doesn't
produce epoch:
https://github.com/docker/docker-ce-packaging/blob/80e47b286ec32c7d912e0dea6ab18f7e4c36ea93/deb/common/rules#L155-L166

docker-cli/rpm: Adjust epoch to match current packaging

From: https://github.com/docker/docker-ce-packaging/tree/2b43a97/rpm/SPECS

The "default" epoch is 5 is only used for `docker-ce` and
`docker-ce-cli`.

Plugins override the version with their own env variable which doesn't
produce epoch:
https://github.com/docker/docker-ce-packaging/blob/80e47b286ec32c7d912e0dea6ab18f7e4c36ea93/deb/common/rules#L155-L166

Signed-off-by: Paweł Gronowski <[email protected]>
Version: %{_version}
Release: %{_release}%{?dist}
Epoch: 0
Epoch: 1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CLI currently has an epoch 5 already; should this be 5?

apt-cache madison docker-ce-cli | head -n 1
docker-ce-cli | 5:28.4.0-1~ubuntu.24.04~noble | https://download.docker.com/linux/ubuntu noble/stable arm64 Packages

I hate it that we have the epoch, but once it's there ... there's no way back unfortunately.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh! this is for rpm - if those didn't have an epoch, we should avoid adding one I guess 🙈

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CLI has epoch 5 in deb packages.
For RPM it's 1:

[root@eb3e0b6271be /]# dnf list --showduplicates docker-ce-cli
Updating and loading repositories:
Repositories loaded.
Available packages
docker-ce-cli.aarch64 1:28.1.0-1.fc42 docker-ce-stable
docker-ce-cli.aarch64 1:28.1.1-1.fc42 docker-ce-stable
docker-ce-cli.aarch64 1:28.2.0-1.fc42 docker-ce-stable
docker-ce-cli.aarch64 1:28.2.1-1.fc42 docker-ce-stable
docker-ce-cli.aarch64 1:28.2.2-1.fc42 docker-ce-stable
docker-ce-cli.aarch64 1:28.3.0-1.fc42 docker-ce-stable
docker-ce-cli.aarch64 1:28.3.1-1.fc42 docker-ce-stable
docker-ce-cli.aarch64 1:28.3.2-1.fc42 docker-ce-stable
docker-ce-cli.aarch64 1:28.3.3-1.fc42 docker-ce-stable
docker-ce-cli.aarch64 1:28.4.0-1.fc42 docker-ce-stable

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh! You're right. Interesting; I recall that the epoch was needed because someone decided to use non-standard pre-release suffixes, like "-tp1" (and maybe CalVer versioning was involved), but not sure why that would've impacted rpm different from deb. Lots of bad things around that timeframe, which was when a docker engine subcommand was added allow upgrading a CE engine to EE, which really a "move fast, break fast, fix later" that messed up everything in our packaging.

@vvoland vvoland requested a review from thaJeztah September 18, 2025 11:53
Copy link
Member

@thaJeztah thaJeztah left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@vvoland vvoland merged commit d4994b2 into docker:main Sep 18, 2025
467 of 468 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants