Adjust epoch to match current packages#266
Conversation
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 <pawel.gronowski@docker.com>
From: https://github.com/docker/docker-ce-packaging/tree/2b43a97/rpm/SPECS Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
3a0ce7b to
0a59b44
Compare
| Version: %{_version} | ||
| Release: %{_release}%{?dist} | ||
| Epoch: 0 | ||
| Epoch: 1 |
There was a problem hiding this comment.
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 PackagesI hate it that we have the epoch, but once it's there ... there's no way back unfortunately.
There was a problem hiding this comment.
oh! this is for rpm - if those didn't have an epoch, we should avoid adding one I guess 🙈
There was a problem hiding this comment.
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
There was a problem hiding this comment.
There was a problem hiding this comment.
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.
Adjust deb epoch to match current packages
The "default" epoch is 5 is only used for
docker-ceanddocker-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