Git Product home page Git Product logo

docker-ce-packaging's Introduction

Docker CE Packaging

This repo contains the open source scripts for packaging the Docker Engine, the Docker CLI, CLI plugins, and rootless-extras packages.

The repository contains Dockerfiles to build packages for various distributions, which can be found in the "rpm" and "deb" subdirectories, as well as scripts to build static binaries.

Docker uses these recipes to build and release packages that are available on the https://download.docker.com package repositories. We welcome contributions to this repository, including the addition of new distros or distro-versions. Note, however, that Docker makes a subselection of distros and architectures for release, and not all distros available in this repository may be released to download.docker.com, but you can use these scripts to build your own packages.

docker-ce-packaging's People

Contributors

akihirosuda avatar andrewhsu avatar corbin-coleman avatar crazy-max avatar crosbymichael avatar deedeeg avatar docker-unir[bot] avatar fredericdalleau avatar glours avatar gtardif avatar jedevc avatar kolyshkin avatar milas avatar ndanyluk avatar ndeloof avatar neersighted avatar p5 avatar rogaha avatar romain-geissler-1a avatar rumpl avatar seemethere avatar silvin-lubecki avatar stefanscherer avatar tao12345666333 avatar thajeztah avatar tianon avatar tiborvass avatar tonistiigi avatar vvoland avatar zelahi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-ce-packaging's Issues

VERIFY_PACKAGE_REPO mis-assigned staging instead of stage

# Use "stage" to install dependencies from download-stage.docker.com during the
# verify step. Leave empty or use any other value to install from download.docker.com
VERIFY_PACKAGE_REPO ?= staging

@thaJeztah introduced in #697

related code:

# to verify using packages from staging, use: make VERIFY_PACKAGE_REPO=stage IMAGE=ubuntu:focal verify
docker run $(VERIFY_PLATFORM) --rm -i \
-v "$$(pwd):/v" \
-e DEBIAN_FRONTEND=noninteractive \
-e PACKAGE_REPO=$(VERIFY_PACKAGE_REPO) \

if [ "${PACKAGE_REPO}" = "stage" ]; then

if [ "${PACKAGE_REPO}" = "stage" ]; then

ubuntu docker-ce 20.10.17 depends on incorrect containerd.io version

The docker engine release notes here: https://docs.docker.com/engine/release-notes/ state that for engine version 20.10.17 the containerd.io version has been updated to v1.6.6. However, for the following ubuntu packages:

5:20.10.17~3-0~ubuntu-bionic
5:20.10.17~3-0~ubuntu-focal

Downloading the source and searching the control file shows:

Depends: containerd.io (>= 1.4.1)

This can lead to docker-ce upgrades sticking with an existing, older version of containerd.io and missing out on fixes.

Shouldn't the control file be in sync with the release notes?

docker-buildx-plugin packages use incorrect version format

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

missing destination file operand after 'debian/docker-ce/usr/bin/docker-proxy'

Branch: master

git clone --depth=1 https://github.com/docker/docker-ce-packaging
cd docker-ce-packaging
make REF=20.10 VERSION=v20.10.20 debian-buster

Error Log:

make[1]: Leaving directory '/root/build-deb'
   create-stamp debian/debhelper-build-stamp
 debian/rules binary
dh binary --with=bash-completion
   dh_testroot
   dh_prep
   debian/rules override_dh_auto_install
make[1]: Entering directory '/root/build-deb'
# docker-ce-cli install
install -D -m 0644 cli/contrib/completion/fish/docker.fish debian/docker-ce-cli/usr/share/fish/vendor_completions.d/docker.fish
install -D -m 0644 cli/contrib/completion/zsh/_docker debian/docker-ce-cli/usr/share/zsh/vendor-completions/_docker
install -D -m 0755 cli/build/docker debian/docker-ce-cli/usr/bin/docker
# docker-ce install
install -D -m 0644 engine/contrib/init/systemd/docker.service debian/docker-ce/lib/systemd/system/docker.service
install -D -m 0644 engine/contrib/init/systemd/docker.socket debian/docker-ce/lib/systemd/system/docker.socket
install -D -m 0755 /go/src/github.com/docker/docker/bundles/dynbinary-daemon/dockerd-v20.10.20 debian/docker-ce/usr/bin/dockerd
install -D -m 0755  debian/docker-ce/usr/bin/docker-proxy
install: missing destination file operand after 'debian/docker-ce/usr/bin/docker-proxy'
Try 'install --help' for more information.
make[1]: *** [debian/rules:77: override_dh_auto_install] Error 1
make[1]: Leaving directory '/root/build-deb'
make: *** [debian/rules:130: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

- override_dh_auto_build:

override_dh_auto_build:
	# Build the daemon and dependencies
	cd engine && DOCKER_GITCOMMIT=$(ENGINE_GITCOMMIT) PRODUCT=docker ./hack/make.sh dynbinary
	cd engine && TMP_GOPATH="/go" hack/dockerfile/install/install.sh tini
	# so, Is there a missing build docker-proxy here?
	# cd engine && TMP_GOPATH="/go" hack/dockerfile/install/proxy dynamic    # <----
	#
	cd engine && TMP_GOPATH="/go" hack/dockerfile/install/install.sh rootlesskit dynamic
	# Build the CLI
	cd /go/src/github.com/docker/cli && VERSION=$(VERSION) GITCOMMIT=$(CLI_GITCOMMIT) LDFLAGS='' GO_LINKMODE=dynamic ./scripts/build/binary && DISABLE_WARN_OUTSIDE_CONTAINER=1 LDFLAGS='' make manpages

	# Build buildx plugin

Error trying to reproduce 20.10 release

Hello, I'm trying to build 20.10 release with the following input data:

  • docker-ci-packaging commit: ef1a431

  • command line:

    make debian-buster \
        DOCKER_CLI_REF=aa7e414fdcb23a66e8fabbef0a560ef1769eace5 \
        DOCKER_ENGINE_REF=90033ab093a3b50719f59b8a554527f69f7442b2
    

The error:

Step #4: make[1]: Entering directory '/root/build-deb'
Step #4: # docker-ce-cli install
Step #4: install -D -m 0644 cli/contrib/completion/fish/docker.fish debian/docker-ce-cli/usr/share/fish/vendor_completions.d/docker.fish
Step #4: install -D -m 0644 cli/contrib/completion/zsh/_docker debian/docker-ce-cli/usr/share/zsh/vendor-completions/_docker
Step #4: install -D -m 0755 cli/build/docker debian/docker-ce-cli/usr/bin/docker
Step #4: # docker-ce install
Step #4: install -D -m 0644 engine/contrib/init/systemd/docker.service debian/docker-ce/lib/systemd/system/docker.service
Step #4: install -D -m 0644 engine/contrib/init/systemd/docker.socket debian/docker-ce/lib/systemd/system/docker.socket
Step #4: install -D -m 0755 /root/build-deb/engine/bundles/dynbinary-daemon/dockerd-0.0.0-20220511162217-aa7e414 debian/docker-ce/usr/bin/dockerd
Step #4: install -D -m 0755  debian/docker-ce/usr/bin/docker-proxy
Step #4: install: missing destination file operand after 'debian/docker-ce/usr/bin/docker-proxy'
Step #4: Try 'install --help' for more information.

The same command works if I'm building master of docker engine, but I'm trying to stay as close as possible to published packages. Any advice on making it work?

Combining static tarball and default cli-plugins

With docker/cli#3314 updates, there is an open question if we should do something with the static binary bundle. With that PR, in order to build with buildkit, buildx binary is needed. The packages already contain buildx, but the static tarball at https://download.docker.com/linux/static/stable/x86_64/ does not.

We should also take into account that more plugins like this will appear in the future. Compose rewrite in go is also a plugin, and Docker Desktop already ships with docker-scan with more coming in the future. The immediate concern for the 21.x release is buildx though.

The options are (comment if I missed any):

  • Add the buildx to the current static tarball. It would be the 10th binary there. Probably the easiest solution.
  • Create a special cli-plugins tarball. Currently containing buildx. Future additions would be added there.
  • Create a cli tarball that contains cli and additional client-side binaries. This has been a requested outcome independently from this work to match the way packages are separated. If we want to do this eventually, then we might as well do these changes together now.
  • Add static links from https://download.docker.com/linux/static to https://github.com/docker/buildx/releases https://github.com/docker/compose/releases and https://github.com/docker/scan-cli-plugin/releases . These already point to static binaries for all architectures and can be used directly when someone wants to curl a binary. We would not update these links with new docker releases.

There is also an option to not do anything and consider static binaries an advanced use case. When users can figure out how to download and configure them, they can figure out the same for other binaries as well.

Personally, I don't have a preference and would be ok with any of the options. We just need to make a conscious decision.

.spec files for mock build

Hi, I've noticed that using spec files in rpm/SPECS is not suitable for use in a mock, and non-root user. I updated the spec files, do I need to create a PR?

Debian bookworm install/service start fail

Following the instructions at Install Docker Engine, I get a failure in docker.service start. This is on a brand-new Hetzner Debian 12 image.

root@henthorn:~# cat /etc/apt/sources.list.d/docker.list 
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian   bookworm stable
root@henthorn:/# aptitude install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
The following NEW packages will be installed:
  containerd.io docker-buildx-plugin docker-ce docker-ce-cli docker-compose-plugin 
The following packages are RECOMMENDED but will NOT be installed:
  apparmor docker-ce-rootless-extras libltdl7 pigz 
0 packages upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 76.2 MB/105 MB of archives. After unpacking 393 MB will be used.
Get: 1 https://download.docker.com/linux/debian bookworm/stable amd64 docker-buildx-plugin amd64 0.11.2-1~debian.12~bookworm [28.2 MB]
Get: 2 https://download.docker.com/linux/debian bookworm/stable amd64 docker-ce-cli amd64 5:24.0.5-1~debian.12~bookworm [13.3 MB]
Get: 3 https://download.docker.com/linux/debian bookworm/stable amd64 docker-ce amd64 5:24.0.5-1~debian.12~bookworm [22.9 MB]
Get: 4 https://download.docker.com/linux/debian bookworm/stable amd64 docker-compose-plugin amd64 2.20.2-1~debian.12~bookworm [11.9 MB]
Fetched 76.2 MB in 1s (147 MB/s)                
Selecting previously unselected package containerd.io.
(Reading database ... 39356 files and directories currently installed.)
Preparing to unpack .../containerd.io_1.6.21-1_amd64.deb ...
Unpacking containerd.io (1.6.21-1) ...
Selecting previously unselected package docker-buildx-plugin.
Preparing to unpack .../docker-buildx-plugin_0.11.2-1~debian.12~bookworm_amd64.deb ...
Unpacking docker-buildx-plugin (0.11.2-1~debian.12~bookworm) ...
Selecting previously unselected package docker-ce-cli.
Preparing to unpack .../docker-ce-cli_5%3a24.0.5-1~debian.12~bookworm_amd64.deb ...
Unpacking docker-ce-cli (5:24.0.5-1~debian.12~bookworm) ...
Selecting previously unselected package docker-ce.
Preparing to unpack .../docker-ce_5%3a24.0.5-1~debian.12~bookworm_amd64.deb ...
Unpacking docker-ce (5:24.0.5-1~debian.12~bookworm) ...
Selecting previously unselected package docker-compose-plugin.
Preparing to unpack .../docker-compose-plugin_2.20.2-1~debian.12~bookworm_amd64.deb ...
Unpacking docker-compose-plugin (2.20.2-1~debian.12~bookworm) ...
Setting up docker-buildx-plugin (0.11.2-1~debian.12~bookworm) ...
Setting up containerd.io (1.6.21-1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/containerd.service → /lib/systemd/system/containerd.service.
Setting up docker-compose-plugin (2.20.2-1~debian.12~bookworm) ...
Setting up docker-ce-cli (5:24.0.5-1~debian.12~bookworm) ...
Setting up docker-ce (5:24.0.5-1~debian.12~bookworm) ...
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /lib/systemd/system/docker.service.
Created symlink /etc/systemd/system/sockets.target.wants/docker.socket → /lib/systemd/system/docker.socket.
Could not execute systemctl:  at /usr/bin/deb-systemd-invoke line 145.
Processing triggers for man-db (2.11.2-2) ...

Consulting journalctl -xeb docker.service:

root@henthorn:/# journalctl -xeu docker.service
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ An ExecStart= process belonging to unit docker.service has exited.
░░ 
░░ The process' exit code is 'exited' and its exit status is 1.
Jul 24 19:02:55 henthorn systemd[1]: docker.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ The unit docker.service has entered the 'failed' state with result 'exit-code'.
Jul 24 19:02:55 henthorn systemd[1]: Failed to start docker.service - Docker Application Container Engine.
░░ Subject: A start job for unit docker.service has failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ A start job for unit docker.service has finished with a failure.
░░ 
░░ The job identifier is 3521 and the job result is failed.
Jul 24 19:02:57 henthorn systemd[1]: docker.service: Scheduled restart job, restart counter is at 3.
░░ Subject: Automatic restarting of a unit has been scheduled
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ Automatic restarting of the unit docker.service has been scheduled, as the result for
░░ the configured Restart= setting for the unit.
Jul 24 19:02:57 henthorn systemd[1]: Stopped docker.service - Docker Application Container Engine.
░░ Subject: A stop job for unit docker.service has finished
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ A stop job for unit docker.service has finished.
░░ 
░░ The job identifier is 3605 and the job result is done.
Jul 24 19:02:57 henthorn systemd[1]: docker.service: Start request repeated too quickly.
Jul 24 19:02:57 henthorn systemd[1]: docker.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ The unit docker.service has entered the 'failed' state with result 'exit-code'.
Jul 24 19:02:57 henthorn systemd[1]: Failed to start docker.service - Docker Application Container Engine.
░░ Subject: A start job for unit docker.service has failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ A start job for unit docker.service has finished with a failure.
░░ 
░░ The job identifier is 3605 and the job result is failed.

Thanks in anticipation. Any additional inofrmation, please ask.

CI should validate expected files are included somehow

Related to the typos caught in #914 (that were in my original PR! 😂 🤦), it would probably be a good idea to add to the CI here some kind of validation that the end result includes some fixed set of expected files (such as docker.socket, docker.service, etc), if not outright somehow verifying that they work correctly (maybe installing them in the GHA "host" environment?).

Process: 385278 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)

In Ubuntu 20.2, I tried to re-install docker and get:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin


Reading package lists... Done
Building dependency tree       
Reading state information... Done
containerd.io is already the newest version (1.6.8-1).
docker-ce-cli is already the newest version (5:20.10.18~3-0~ubuntu-focal).
docker-ce is already the newest version (5:20.10.18~3-0~ubuntu-focal).
docker-compose-plugin is already the newest version (2.10.2~ubuntu-focal).
0 upgraded, 0 newly installed, 0 to remove and 208 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up docker-ce (5:20.10.18~3-0~ubuntu-focal) ...
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.
invoke-rc.d: initscript docker, action "start" failed.
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: activating (auto-restart) (Result: exit-code) since Tue 2022-10-04 10:20:26 JST; 10ms ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
    Process: 385278 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)
   Main PID: 385278 (code=exited, status=1/FAILURE)
dpkg: error processing package docker-ce (--configure):
 installed docker-ce package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 docker-ce
E: Sub-process /usr/bin/dpkg returned an error code (1)

Question on availability of new plugin packages

Hi folks,

I appreciate there's likely some considerations here that aren't visible to the casual observer but I was hoping to get some clarity on the availability of packages published to https://download.docker.com for new plugin releases (e.g. https://github.com/docker/buildx/releases/tag/v0.10.4).

For example, I notice that this repo has merged a PR relating to the buildx v0.10.4 release (#853) a couple of weeks ago but there's been nothing new in (for example) https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/ for over a month. Is there some kind of blocker we could keep an eye on to stay informed on the progress?

Thanks for any insights!

Not possible to build docker from scratch ?

It looks to me like this tool requires docker already being available on the build system.

If so, the README should mention that. And if there is a way at all to build docker-ce from source only without using precompiled static binaries, a hint would be nice, too.

buczek@theinternet:~/git/docker-ce-packaging (master)$ make static
./scripts/checkout.sh src/github.com/docker/cli "HEAD"
+ SRC=src/github.com/docker/cli
+ REF=HEAD
[...]
+ git -C src/github.com/docker/scan-cli-plugin checkout -q refs/tags/v0.17.0
for p in static-linux cross-mac cross-win cross-arm; do \
	make -C static VERSION=0.0.1-dev GO_VERSION=1.18.5 TARGETPLATFORM= CONTAINERD_VERSION= RUNC_VERSION= ${p}; \
done
make[1]: Entering directory '/home/buczek/git/docker-ce-packaging/static'
cd /home/buczek/git/docker-ce-packaging/src/github.com/docker/cli && VERSION=0.0.0-20220827153212-d89b5db docker buildx bake --set binary.platform= --set binary.args.CGO_ENABLED= binary
/bin/bash: line 1: docker: command not found
make[1]: *** [Makefile:99: static-cli] Error 127

s390x Debian packages have checksum mismatches with the actual files

When running curl -fsSL get.docker.com | bash on a Debian Linux s390x machine, the following errors are reported

# Executing docker install script, commit: c2de0811708b6d9015ed1a2c80f02c9b70c8ce7b
+ sh -c 'apt-get update -qq >/dev/null'
+ sh -c 'DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null'
+ sh -c 'install -m 0755 -d /etc/apt/keyrings'
+ sh -c 'curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpg'
gpg: WARNING: unsafe permissions on homedir '/root/.gnupg'
+ sh -c 'chmod a+r /etc/apt/keyrings/docker.gpg'
+ sh -c 'echo "deb [arch=s390x signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu focal stable" > /etc/apt/sources.list.d/docker.list'
+ sh -c 'apt-get update -qq >/dev/null'
+ sh -c 'DEBIAN_FRONTEND=noninteractive apt-get install -y -qq docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-ce-rootless-extras docker-buildx-plugin >/dev/null'
E: Failed to fetch https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/s390x/docker-buildx-plugin_0.11.1-1~ubuntu.20.04~focal_s390x.deb  Hash Sum mismatch
   Hashes of expected file:
    - SHA512:a23a1f56d0ddfbe488579abce934f62125b13835dbe89e85305e3876be165508ae1a59e46b6dc0c1345d4eea3850cafbe596801fa073e89cb8a8aba055055238
    - SHA256:ea91370d109896350d9731343328f70ea07cfac15136d7c7762864cc8418219a
    - SHA1:056cedad134033e5e7608779b87fdabee4011e92 [weak]
    - MD5Sum:a7e696fdb9a8d27a6747ed260038358b [weak]
    - Filesize:27160618 [weak]
   Hashes of received file:
    - SHA512:97a00b2e99b5388618c96b829410ac6ddf35a2a788b838bb80cad3e3bdd798c7b3645f2bceda9bc305227136b2f3d013e281c4f3d0132dc8f75dc85725b5e31a
    - SHA256:c466da225a26b3ed02a3876e85ed28c48b9d8c48bb32d2e947156375a6ccfd7f
    - SHA1:0a70e1ae882eafce3b62e8228411f308387bbc21 [weak]
    - MD5Sum:f6bd0c1c30201ca753843bf3c661d79a [weak]
    - Filesize:27160618 [weak]
   Last modification reported: Fri, 25 Aug 2023 16:05:46 +0000
E: Failed to fetch https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/s390x/docker-ce-cli_24.0.3-1~ubuntu.20.04~focal_s390x.deb  Hash Sum mismatch
   Hashes of expected file:
    - SHA512:441606cc8fe003db41ac4847ad754a760ddf511dde9e96bf4e5f3a48391925abfbb8d2da2a4a5f79c0435436f09a803e1e8d4e92a82dac67a97ec54712d22307
    - SHA256:c14cdf2f87658a2c7a237c569d143c98c6e77fffe6706ff6be2c7dd080ec3b82
    - SHA1:94843c1f452e57e4c65876f1ca738dada2574682 [weak]
    - MD5Sum:9779e3ea2a1eea2a7f1e9846538c7611 [weak]
    - Filesize:12625210 [weak]
   Hashes of received file:
    - SHA512:b7ef1c9408f226279654d7c5ea2f47825a771f5623c433acb9c4ba14b2f8071be0416b101e5bb4fd8dc76b19958fc16e1a098c490bf4f663a345636de696feca
    - SHA256:be48f6256c4a8e18bc342fde6b99bc996abb85354bfe1bcf9bd0805e70583ea5
    - SHA1:35354bb60172a26bb75cb20f1db18a1464ef7b48 [weak]
    - MD5Sum:b68479806729e67281ca4d103a2db586 [weak]
    - Filesize:12625210 [weak]
   Last modification reported: Fri, 25 Aug 2023 16:05:54 +0000
E: Failed to fetch https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/s390x/docker-ce_24.0.3-1~ubuntu.20.04~focal_s390x.deb  Hash Sum mismatch
   Hashes of expected file:
    - SHA512:bf96935b6db864510a95e1842cc54b956c3ed6175a56fa9244dccf00b323b9397f0903216d2497ca2982b7c93f7e46d124801fc190d9640476259a9178c1b403
    - SHA256:6d1c1656d82b621fcec013566ddb67537bf53cb73ca3ae839fbbd83804b93796
    - SHA1:fd5b0d5a95af5a6459fb120362a84edd3a7ffe38 [weak]
    - MD5Sum:df3e70ebf3512c73d2b553c145991652 [weak]
    - Filesize:14521578 [weak]
   Hashes of received file:
    - SHA512:d261443560924d398d311213c966b26f8361663c5dd15f133cb109b5c0d555ca17effd8d550d41d4cfb39315b96e416cbdc5da9f172f1447624f66aa0c30b744
    - SHA256:49af8713d2866fa219d639e615b2fa425aad55c682ef9e1aa084b908f4633bf7
    - SHA1:aa6b5d1aaf649d2eeefce87623fed8b687665f00 [weak]
    - MD5Sum:f0032cda2c98e313340e838a27b278e8 [weak]
    - Filesize:14521578 [weak]
   Last modification reported: Fri, 25 Aug 2023 16:06:01 +0000
E: Failed to fetch https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/s390x/docker-ce-rootless-extras_24.0.3-1~ubuntu.20.04~focal_s390x.deb  Hash Sum mismatch
   Hashes of expected file:
    - SHA512:108ea31b51372fbb3dca683486c81149ea72aab0a1c5e86f06913e4cdfc61cd76a707501da1778f1ea4feb395aca8cf205ec0886b0d0450805c7d381413f7f1d
    - SHA256:752eacbeb382f7fe77f28a43bc61af47126e8cf4a125b98f6064f6e962ac244c
    - SHA1:0c48e0931a0bef3dab5f8ece4fcf863b9578233c [weak]
    - MD5Sum:852a98266cf76e77d164fd241a50d345 [weak]
    - Filesize:8585952 [weak]
   Hashes of received file:
    - SHA512:3acb8614dfae3c739f38c312969a7e479cd6da869e1642d065fe07dd5ec9cdbeda86e959d602c790455679982b53c4ef7e797e8ebfef0ecf343118a0a5686924
    - SHA256:d5ed2158915f6284429f44c61ac6e491ce07bffa1d532eb67548cc33c6db1d60
    - SHA1:1b9bb9163773d270745a246335ba003a172fe911 [weak]
    - MD5Sum:9e02e6164f5654a3862a18616da607f1 [weak]
    - Filesize:8585952 [weak]
   Last modification reported: Fri, 25 Aug 2023 16:05:57 +0000
E: Failed to fetch https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/s390x/docker-compose-plugin_2.19.1-1~ubuntu.20.04~focal_s390x.deb  Hash Sum mismatch
   Hashes of expected file:
    - SHA512:ada47efffbda879c50a15c7a64c8b382fe5f4afd985e86e4ee529694458abc0b68b4ab679271606bd69720bb7a845b6230d5fbc42a10acec1fd2f6607bf8a443
    - SHA256:5baf45c090caaca6e6b43b1258d654e397ebfd454e0228ee72cb485e60264065
    - SHA1:0d2e1a48c6b3b7b2d6a32223aa76725067f5d349 [weak]
    - MD5Sum:b2737448590743d57c74d51204f9e54a [weak]
    - Filesize:10734326 [weak]
   Hashes of received file:
    - SHA512:46883156f2b0176e5cda69c11cdefda2dc9272e86c2ec11d5b8f42103605c87368cb0a8cfed3982c2f2ff80c466446e118e51c1dc908e4a9a3f7d878af049af2
    - SHA256:99205c1c2bb723d7a2666a01fcd8b3f383f81d9ea808e5223a24d74f1025212b
    - SHA1:f9d39bb74b918c1c2a16a80c33da8521fab5baa8 [weak]
    - MD5Sum:03a46ad6d138e787b6c842f1265b99f9 [weak]
    - Filesize:10734326 [weak]
   Last modification reported: Fri, 25 Aug 2023 16:06:03 +0000
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

Considering https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/s390x/docker-ce_24.0.3-1~ubuntu.20.04~focal_s390x.deb for the core Docker package, I can see that https://download.docker.com/linux/ubuntu/dists/focal/stable/binary-s390x/Packages contains the following entry:

Package: docker-ce
Architecture: s390x
Version: 5:24.0.3-1~ubuntu.20.04~focal
Priority: optional
Section: admin
Maintainer: Docker <[email protected]>
Installed-Size: 76693
Depends: containerd.io (>= 1.6.4), docker-ce-cli, iptables, libseccomp2 (>= 2.3.0), libc6 (>= 2.8), libdevmapper1.02.1 (>= 2:1.02.97), libsystemd0
Recommends: apparmor, ca-certificates, docker-ce-rootless-extras, git, libltdl7, pigz, procps, xz-utils
Suggests: cgroupfs-mount | cgroup-lite
Conflicts: docker (<< 1.5~), docker-engine, docker-engine-cs, docker.io, lxc-docker, lxc-docker-virtual-package
Replaces: docker-engine
Filename: dists/focal/pool/stable/s390x/docker-ce_24.0.3-1~ubuntu.20.04~focal_s390x.deb
Size: 14521578
MD5sum: df3e70ebf3512c73d2b553c145991652
SHA1: fd5b0d5a95af5a6459fb120362a84edd3a7ffe38
SHA256: 6d1c1656d82b621fcec013566ddb67537bf53cb73ca3ae839fbbd83804b93796
SHA512: bf96935b6db864510a95e1842cc54b956c3ed6175a56fa9244dccf00b323b9397f0903216d2497ca2982b7c93f7e46d124801fc190d9640476259a9178c1b403
Homepage: https://www.docker.com
Description: Docker: the open-source application container engine
 Docker is a product for you to build, ship and run any application as a
 lightweight container
 .
 Docker containers are both hardware-agnostic and platform-agnostic. This means
 they can run anywhere, from your laptop to the largest cloud compute instance and
 everything in between - and they don't require you to use a particular
 language, framework or packaging system. That makes them great building blocks
 for deploying and scaling web apps, databases, and backend services without
 depending on a particular stack or provider.

But the checksums for the file at https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/s390x/docker-ce_24.0.3-1~ubuntu.20.04~focal_s390x.deb don't match those values - they are...

andy:foo$ md5sum docker-ce_24.0.3-1~ubuntu.20.04~focal_s390x.deb 
f0032cda2c98e313340e838a27b278e8  docker-ce_24.0.3-1~ubuntu.20.04~focal_s390x.deb
andy:foo$ sha1sum docker-ce_24.0.3-1~ubuntu.20.04~focal_s390x.deb 
aa6b5d1aaf649d2eeefce87623fed8b687665f00  docker-ce_24.0.3-1~ubuntu.20.04~focal_s390x.deb
andy:foo$ sha256sum docker-ce_24.0.3-1~ubuntu.20.04~focal_s390x.deb 
49af8713d2866fa219d639e615b2fa425aad55c682ef9e1aa084b908f4633bf7  docker-ce_24.0.3-1~ubuntu.20.04~focal_s390x.deb
andy:foo$ sha512sum docker-ce_24.0.3-1~ubuntu.20.04~focal_s390x.deb 
d261443560924d398d311213c966b26f8361663c5dd15f133cb109b5c0d555ca17effd8d550d41d4cfb39315b96e416cbdc5da9f172f1447624f66aa0c30b744  docker-ce_24.0.3-1~ubuntu.20.04~focal_s390x.deb

This is true for multiple s390x files and at least the following:

All of these seem to have been published as a set on 2023-08-31 at around 16:49:30. I've not checked the files for any of the other Ubuntu versions, or any other Linux distro. We've not seen failures on any other architecture though, so it looks like it's just some set of files for s390x

Panic: runtime - error

 Start: Run: docker buildx build --load --build-arg BUILDKIT_INLINE_CACHE=1 -f /tmp/devcontainercli-cngvng/container-features/0.31.0-1679886041647/Dockerfile-with-features -t vsc-phenet-study-38c3a49b68f16d822abc83dce94a12f6 --target dev_containers_target_stage --build-arg _DEV_CONTAINERS_BASE_IMAGE=dev_container_auto_added_stage_label /home/cngvng/Phenikaa-X/PheNet-Study/.devcontainer
[2023-03-27T03:00:41.751Z] panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x39 pc=0x10c9ca9

Docker version: 23.0.1
Ubuntu 18.04.6 LTS

Hello there,

I meet the error above. How can I fix this? Can you help me ?

Thanks.

/usr/bin/tar: Cannot change mode to rwxr-xr-x: Operation not permitted

Description
I'm getting the above error for a number of files with Fedora-40 only on ppc64le at https://github.com/docker/docker-ce-packaging/blob/master/rpm/Makefile#L44 when it runs the instruction /usr/lib/rpm/rpmuncompress -x /root/rpmbuild/SOURCES/engine.tgz only while running with the default seccomp profile.

Steps to Reproduce
Run the instruction

docker run --rm -e PLATFORM -v /workspace/docker-ce-packaging/rpm/rpmbuild/SOURCES:/root/rpmbuild/SOURCES:ro -v /workspace/docker-ce-packaging/rpm/rpmbuild/fedora-40/RPMS:/root/rpmbuild/RPMS -v /workspace/docker-ce-packaging/rpm/rpmbuild/fedora-40/SRPMS:/root/rpmbuild/SRPMS  rpmbuild-fedora-40/ppc64le -ba --define '_gitcommit_cli 2ae903e' --define '_gitcommit_engine 8b79278' --define '_release 1' --define '_version 26.0.0' --define '_origversion v26.0.0' --define '_buildx_rpm_version 0.13.1' --define '_buildx_version v0.13.1' --define '_buildx_gitcommit 7884339' --define '_compose_rpm_version 2.25.0' --define '_compose_version v2.25.0'  SPECS/docker-ce.spec SPECS/docker-ce-cli.spec SPECS/docker-ce-rootless-extras.spec SPECS/docker-buildx-plugin.spec SPECS/docker-compose-plugin.spec`

I tried replacing the default profile with a custom one including the system calls obtained from strace but that didn't help so there might be a missing call.

@thaJeztah @neersighted Can you please advise?

bullseye apt repo is broken

Err:12 https://download.docker.com/linux/debian bullseye/stable amd64 Packages
  File has unexpected size (26476 != 27148). Mirror sync in progress? [IP: 2600:9000:2240:1000:3:db06:4200:93a1 443]
  Hashes of expected file:
   - Filesize:27148 [weak]
   - SHA512:141bfc312c7840382e9e11095311d940b3e88de55fea12a7245e568a7106d844555bce27cccca847c928526fce0e7015272004ec3abb3a1a69f1025c468d7b36
   - SHA256:e436133f2f60aa51f0b15ab63677bb93bf8091316d7c2dba7d2f7abd4d7a9664
   - SHA1:1d18e3cc9fb721b7e3acff4e6d871e381f5dd313 [weak]
   - MD5Sum:2bf1fde7ef66d1712828981f788ac437 [weak]
  Release file created at: Thu, 24 Aug 2023 14:10:42 +0000

So unable to install or update docker-ce from this repo currently

Uninstalling docker-ce RPM does not disable docker.socket

The docker-ce rpm package does not cleanup the docker.socket unit from systemd on uninstall.

This makes it so that docker.socket keeps in an active state, despite the socket not being functional:

# systemctl status docker.socket
● docker.socket
   Loaded: not-found (Reason: Unit docker.socket not found.)
   Active: active (listening) since Thu 2023-02-23 22:57:22 UTC; 33s ago
    Tasks: 0 (limit: 25092)
   Memory: 264.0K
   CGroup: /system.slice/docker.socket

Feb 23 22:57:22 751cf9ad8325 systemd[1]: Starting Docker Socket for the API.
Feb 23 22:57:22 751cf9ad8325 systemd[1]: Listening on Docker Socket for the API.
Feb 23 22:57:53 751cf9ad8325 systemd[1]: docker.socket: Socket unit configuration has changed while unit has been running, no open socket file descriptor left. The socket unit is not functional until restarted.

This is a silent trap for the next time we start the service after reinstallation, because socket activation won't work:

# journalctl -u docker.service

Feb 23 23:03:37 751cf9ad8325 systemd[1]: Starting Docker Application Container Engine...
Feb 23 23:03:38 751cf9ad8325 dockerd[19450]: time="2023-02-23T23:03:38.028768000Z" level=info msg="Starting up"
Feb 23 23:03:38 751cf9ad8325 dockerd[19450]: failed to load listeners: no sockets found via socket activation: make sure the service was started by systemd
Feb 23 23:03:38 751cf9ad8325 systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
Feb 23 23:03:38 751cf9ad8325 systemd[1]: docker.service: Failed with result 'exit-code'.
Feb 23 23:03:38 751cf9ad8325 systemd[1]: Failed to start Docker Application Container Engine.
Feb 23 23:03:40 751cf9ad8325 systemd[1]: docker.service: Service RestartSec=2s expired, scheduling restart.
Feb 23 23:03:40 751cf9ad8325 systemd[1]: docker.service: Scheduled restart job, restart counter is at 1.
Feb 23 23:03:40 751cf9ad8325 systemd[1]: Stopped Docker Application Container Engine.

Question: How are packages distributed

Hello,

I have a question regarding the distribution of the resulting deb/rpm installers.

Environment:

Debian Bookworm

Feed: download.docker.com

deb [arch=amd64] https://download.docker.com/linux/debian bookworm 

Installed version

$ docker compose version
Docker Compose version v2.21.0
$

The version is neither pinned nor manually installed.

Expectation

After the new tag has been created in the compose CLI plugin repo and the debian packages are created using this repository, the new versions should be available via download.docker.com

Result

The packages are not available yet.

Question

How is it decided, which packages are made available? Who is responsible for that? When will the packages be uploaded? Shouldn't there be an automated pipeline?

[todo] check rpmlint warnings and errors on packages

We should look at the rpmlint warnings and errors on the RPMs; some of them look like "easy fixes", others are bit unclear (need to look into the meaning of each of those);

On CentOS 7

CentOS 7: docker-ce-cli
curl -fsSLO  https://download-stage.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-cli-20.10.13-3.el7.x86_64.rpm

rpmlint ./docker-ce-cli-20.10.13-3.el7.x86_64.rpm
docker-ce-cli.x86_64: E: description-line-too-long C they can run anywhere, from your laptop to the largest cloud compute instance and
docker-ce-cli.x86_64: E: no-changelogname-tag
docker-ce-cli.x86_64: W: unstripped-binary-or-object /usr/libexec/docker/cli-plugins/docker-buildx
docker-ce-cli.x86_64: W: unstripped-binary-or-object /usr/bin/docker
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-container-create.1.gz 155: warning: macro `host':' not defined
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-container-create.1.gz 156: warning: macro `private':' not defined
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-container-create.1.gz 157: warning: macro `':' not defined
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-image-pull.1.gz 253: warning: macro `...' not defined
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-create.1.gz 51: warning: macro `host':' not defined
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-create.1.gz 52: warning: macro `private':' not defined
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-create.1.gz 53: warning: macro `':' not defined
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-inspect.1.gz 251: warning: macro `...' not defined
docker-ce-cli.x86_64: E: non-executable-script /usr/share/bash-completion/completions/docker 0644L /usr/bin/env
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-run.1.gz 1255: warning: macro `You' not defined
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-container-run.1.gz 51: warning: macro `host':' not defined
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-container-run.1.gz 52: warning: macro `private':' not defined
docker-ce-cli.x86_64: W: manual-page-warning /usr/share/man/man1/docker-container-run.1.gz 53: warning: macro `':' not defined
docker-ce-cli.x86_64: E: unknown-key (MD5
1 packages and 0 specfiles checked; 4 errors, 14 warnings.
CentOS 7: docker-compose-plugin
curl -fsSLO https://download-stage.docker.com/linux/centos/7/x86_64/stable/Packages/docker-compose-plugin-2.3.1-3.el7.x86_64.rpm

rpmlint ./docker-compose-plugin-2.3.1-3.el7.x86_64.rpm
docker-compose-plugin.x86_64: E: no-changelogname-tag
docker-compose-plugin.x86_64: E: statically-linked-binary /usr/libexec/docker/cli-plugins/docker-compose
docker-compose-plugin.x86_64: W: no-documentation
docker-compose-plugin.x86_64: E: unknown-key (MD5
docker-compose-plugin.x86_64: W: empty-%post
docker-compose-plugin.x86_64: W: empty-%preun
docker-compose-plugin.x86_64: W: empty-%postun
1 packages and 0 specfiles checked; 3 errors, 4 warnings.
CentOS 7: docker-scan-plugin
curl -fsSLO https://download-stage.docker.com/linux/centos/7/x86_64/stable/Packages/docker-scan-plugin-0.9.0-3.el7.x86_64.rpm

rpmlint ./docker-scan-plugin-0.9.0-3.el7.x86_64.rpm
docker-scan-plugin.x86_64: E: no-changelogname-tag
docker-scan-plugin.x86_64: E: statically-linked-binary /usr/libexec/docker/cli-plugins/docker-scan
docker-scan-plugin.x86_64: W: no-documentation
docker-scan-plugin.x86_64: E: unknown-key (MD5
docker-scan-plugin.x86_64: W: empty-%post
docker-scan-plugin.x86_64: W: empty-%preun
docker-scan-plugin.x86_64: W: empty-%postun
1 packages and 0 specfiles checked; 3 errors, 4 warnings.
CentOS 7: docker-ce
curl -fsSLO https://download-stage.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-20.10.13-3.el7.x86_64.rpm

rpmlint ./docker-ce-20.10.13-3.el7.x86_64.rpm
docker-ce.x86_64: E: explicit-lib-dependency libcgroup
docker-ce.x86_64: E: description-line-too-long C they can run anywhere, from your laptop to the largest cloud compute instance and
docker-ce.x86_64: E: no-changelogname-tag
docker-ce.x86_64: W: obsolete-not-provided docker-ce-selinux
docker-ce.x86_64: W: obsolete-not-provided docker-engine-selinux
docker-ce.x86_64: W: obsolete-not-provided docker-engine
docker-ce.x86_64: W: unstripped-binary-or-object /usr/bin/dockerd
docker-ce.x86_64: W: unstripped-binary-or-object /usr/bin/docker-proxy
docker-ce.x86_64: E: statically-linked-binary /usr/bin/docker-init
docker-ce.x86_64: W: only-non-binary-in-usr-lib
docker-ce.x86_64: W: no-documentation
docker-ce.x86_64: W: no-manual-page-for-binary docker-proxy
docker-ce.x86_64: W: no-manual-page-for-binary docker-init
docker-ce.x86_64: W: no-manual-page-for-binary dockerd
docker-ce.x86_64: E: unknown-key (MD5
1 packages and 0 specfiles checked; 5 errors, 10 warnings.
CentOS 7: docker-ce-rootless-extras
curl -fsSLO https://download-stage.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-rootless-extras-20.10.13-3.el7.x86_64.rpm
rpmlint ./docker-ce-rootless-extras-20.10.13-3.el7.x86_64.rpm
docker-ce-rootless-extras.x86_64: E: no-changelogname-tag
docker-ce-rootless-extras.x86_64: W: unstripped-binary-or-object /usr/bin/rootlesskit-docker-proxy
docker-ce-rootless-extras.x86_64: W: unstripped-binary-or-object /usr/bin/rootlesskit
docker-ce-rootless-extras.x86_64: W: no-documentation
docker-ce-rootless-extras.x86_64: W: no-manual-page-for-binary dockerd-rootless.sh
docker-ce-rootless-extras.x86_64: W: no-manual-page-for-binary dockerd-rootless-setuptool.sh
docker-ce-rootless-extras.x86_64: W: no-manual-page-for-binary rootlesskit
docker-ce-rootless-extras.x86_64: W: no-manual-page-for-binary rootlesskit-docker-proxy
docker-ce-rootless-extras.x86_64: E: unknown-key (MD5
docker-ce-rootless-extras.x86_64: W: empty-%post
docker-ce-rootless-extras.x86_64: W: empty-%preun
docker-ce-rootless-extras.x86_64: W: empty-%postun
1 packages and 0 specfiles checked; 2 errors, 10 warnings.
CentOS 7: containerd.io
curl -fsSLO https://download-stage.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.5.10-3.1.el7.x86_64.rpm

rpmlint ./containerd.io-1.5.10-3.1.el7.x86_64.rpm
containerd.io.x86_64: W: manpage-not-compressed gz /usr/share/man/man8/ctr.8
containerd.io.x86_64: W: manpage-not-compressed gz /usr/share/man/man8/containerd.8
containerd.io.x86_64: W: manpage-not-compressed gz /usr/share/man/man8/containerd-config.8
containerd.io.x86_64: W: manpage-not-compressed gz /usr/share/man/man5/containerd-config.toml.5
containerd.io.x86_64: E: explicit-lib-dependency libseccomp
containerd.io.x86_64: W: invalid-url URL: https://containerd.io <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:618)>
containerd.io.x86_64: W: self-obsoletion containerd obsoletes containerd
containerd.io.x86_64: W: self-obsoletion runc obsoletes runc
containerd.io.x86_64: E: no-binary
containerd.io.x86_64: W: only-non-binary-in-usr-lib
containerd.io.x86_64: W: no-manual-page-for-binary containerd-shim
containerd.io.x86_64: W: no-manual-page-for-binary runc
containerd.io.x86_64: W: no-manual-page-for-binary containerd-shim-runc-v2
containerd.io.x86_64: W: no-manual-page-for-binary containerd-shim-runc-v1
containerd.io.x86_64: E: unknown-key (MD5
1 packages and 0 specfiles checked; 3 errors, 12 warnings.

On Fedora 35

Checking on Fedora 35 (more current version of RPM)

Fedora 35: docker-ce-cli
curl -fsSLO  https://download-stage.docker.com/linux/fedora/35/x86_64/stable/Packages/docker-ce-cli-20.10.13-3.fc35.x86_64.rpm

rpmlint ./docker-ce-cli-20.10.13-3.fc35.x86_64.rpm
========================================================================================== rpmlint session starts ==========================================================================================
rpmlint: 2.2.0
configuration:
    /usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/licenses.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 1

docker-ce-cli.x86_64: W: unstripped-binary-or-object /usr/bin/docker
docker-ce-cli.x86_64: W: unstripped-binary-or-object /usr/libexec/docker/cli-plugins/docker-buildx
docker-ce-cli.x86_64: E: unknown-key 621e9f35
docker-ce-cli.x86_64: W: position-independent-executable-suggested /usr/libexec/docker/cli-plugins/docker-app
docker-ce-cli.x86_64: W: position-independent-executable-suggested /usr/libexec/docker/cli-plugins/docker-buildx
docker-ce-cli.x86_64: E: non-executable-script /usr/share/bash-completion/completions/docker 644 /usr/bin/env bash
docker-ce-cli.x86_64: E: no-changelogname-tag
docker-ce-cli.x86_64: E: description-line-too-long they can run anywhere, from your laptop to the largest cloud compute instance and
=========================================================== 1 packages and 0 specfiles checked; 4 errors, 4 warnings, 4 badness; has taken 3.3 s ===========================================================
Fedora 35: docker-compose-plugin
curl -fsSLO https://download-stage.docker.com/linux/fedora/35/x86_64/stable/Packages/docker-compose-plugin-2.3.1-3.fc35.x86_64.rpm

rpmlint ./docker-compose-plugin-2.3.1-3.fc35.x86_64.rpm
========================================================================================== rpmlint session starts ==========================================================================================
rpmlint: 2.2.0
configuration:
    /usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/licenses.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 1

docker-compose-plugin.x86_64: E: unknown-key 621e9f35
docker-compose-plugin.x86_64: E: statically-linked-binary /usr/libexec/docker/cli-plugins/docker-compose
docker-compose-plugin.x86_64: W: position-independent-executable-suggested /usr/libexec/docker/cli-plugins/docker-compose
docker-compose-plugin.x86_64: W: no-documentation
docker-compose-plugin.x86_64: E: no-changelogname-tag
docker-compose-plugin.x86_64: W: empty-%preun
docker-compose-plugin.x86_64: W: empty-%postun
docker-compose-plugin.x86_64: W: empty-%post
=========================================================== 1 packages and 0 specfiles checked; 3 errors, 5 warnings, 3 badness; has taken 0.3 s ===========================================================
Fedora 35: docker-scan-plugin
curl -fsSLO https://download-stage.docker.com/linux/fedora/35/x86_64/stable/Packages/docker-scan-plugin-0.17.0-3.fc35.x86_64.rpm

rpmlint ./docker-scan-plugin-0.17.0-3.fc35.x86_64.rpm
========================================================================================== rpmlint session starts ==========================================================================================
rpmlint: 2.2.0
configuration:
    /usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/licenses.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 1

docker-scan-plugin.x86_64: E: unknown-key 621e9f35
docker-scan-plugin.x86_64: E: statically-linked-binary /usr/libexec/docker/cli-plugins/docker-scan
docker-scan-plugin.x86_64: W: position-independent-executable-suggested /usr/libexec/docker/cli-plugins/docker-scan
docker-scan-plugin.x86_64: W: no-documentation
docker-scan-plugin.x86_64: E: no-changelogname-tag
docker-scan-plugin.x86_64: W: empty-%preun
docker-scan-plugin.x86_64: W: empty-%postun
docker-scan-plugin.x86_64: W: empty-%post
=========================================================== 1 packages and 0 specfiles checked; 3 errors, 5 warnings, 3 badness; has taken 0.2 s ===========================================================
Fedora 35: docker-ce
curl -fsSLO https://download-stage.docker.com/linux/fedora/35/x86_64/stable/Packages/docker-ce-20.10.13-3.fc35.x86_64.rpm

rpmlint ./docker-ce-20.10.13-3.fc35.x86_64.rpm
========================================================================================== rpmlint session starts ==========================================================================================
rpmlint: 2.2.0
configuration:
    /usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/licenses.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 1

docker-ce.x86_64: W: unstripped-binary-or-object /usr/bin/docker-proxy
docker-ce.x86_64: W: unstripped-binary-or-object /usr/bin/dockerd
docker-ce.x86_64: E: unknown-key 621e9f35
docker-ce.x86_64: E: statically-linked-binary /usr/bin/docker-init
docker-ce.x86_64: W: position-independent-executable-suggested /usr/bin/docker-init
docker-ce.x86_64: W: obsolete-not-provided docker-ce-selinux
docker-ce.x86_64: W: obsolete-not-provided docker-engine
docker-ce.x86_64: W: obsolete-not-provided docker-engine-selinux
docker-ce.x86_64: W: no-manual-page-for-binary docker-init
docker-ce.x86_64: W: no-manual-page-for-binary docker-proxy
docker-ce.x86_64: W: no-manual-page-for-binary dockerd
docker-ce.x86_64: W: no-documentation
docker-ce.x86_64: E: no-changelogname-tag
docker-ce.x86_64: E: explicit-lib-dependency libcgroup
docker-ce.x86_64: E: description-line-too-long they can run anywhere, from your laptop to the largest cloud compute instance and
========================================================== 1 packages and 0 specfiles checked; 5 errors, 10 warnings, 5 badness; has taken 4.9 s ===========================================================
Fedora 35: docker-ce-rootless-extras
curl -fsSLO https://download-stage.docker.com/linux/fedora/35/x86_64/stable/Packages/docker-ce-rootless-extras-20.10.13-3.fc35.x86_64.rpm

rpmlint ./docker-ce-rootless-extras-20.10.13-3.fc35.x86_64.rpm
========================================================================================== rpmlint session starts ==========================================================================================
rpmlint: 2.2.0
configuration:
    /usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/licenses.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 1

docker-ce-rootless-extras.x86_64: W: unstripped-binary-or-object /usr/bin/rootlesskit
docker-ce-rootless-extras.x86_64: W: unstripped-binary-or-object /usr/bin/rootlesskit-docker-proxy
docker-ce-rootless-extras.x86_64: E: unknown-key 621e9f35
docker-ce-rootless-extras.x86_64: W: no-manual-page-for-binary dockerd-rootless-setuptool.sh
docker-ce-rootless-extras.x86_64: W: no-manual-page-for-binary dockerd-rootless.sh
docker-ce-rootless-extras.x86_64: W: no-manual-page-for-binary rootlesskit
docker-ce-rootless-extras.x86_64: W: no-manual-page-for-binary rootlesskit-docker-proxy
docker-ce-rootless-extras.x86_64: W: no-documentation
docker-ce-rootless-extras.x86_64: E: no-changelogname-tag
docker-ce-rootless-extras.x86_64: W: empty-%preun
docker-ce-rootless-extras.x86_64: W: empty-%postun
docker-ce-rootless-extras.x86_64: W: empty-%post
========================================================== 1 packages and 0 specfiles checked; 2 errors, 10 warnings, 2 badness; has taken 0.4 s ===========================================================
Fedora 35: containerd.io
curl -fsSLO https://download-stage.docker.com/linux/fedora/35/x86_64/stable/Packages/containerd.io-1.5.10-3.1.fc35.x86_64.rpm

rpmlint ./containerd.io-1.5.10-3.1.fc35.x86_64.rpm
========================================================================================== rpmlint session starts ==========================================================================================
rpmlint: 2.2.0
configuration:
    /usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/licenses.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 1

containerd.io.x86_64: W: unstripped-binary-or-object /usr/bin/runc
containerd.io.x86_64: E: unknown-key 621e9f35
containerd.io.x86_64: E: statically-linked-binary /usr/bin/containerd-shim
containerd.io.x86_64: E: statically-linked-binary /usr/bin/containerd-shim-runc-v1
containerd.io.x86_64: E: statically-linked-binary /usr/bin/containerd-shim-runc-v2
containerd.io.x86_64: W: self-obsoletion containerd obsoletes containerd
containerd.io.x86_64: W: self-obsoletion runc obsoletes runc
containerd.io.x86_64: W: position-independent-executable-suggested /usr/bin/containerd-shim
containerd.io.x86_64: W: position-independent-executable-suggested /usr/bin/containerd-shim-runc-v1
containerd.io.x86_64: W: position-independent-executable-suggested /usr/bin/containerd-shim-runc-v2
containerd.io.x86_64: W: no-manual-page-for-binary containerd-shim
containerd.io.x86_64: W: no-manual-page-for-binary containerd-shim-runc-v1
containerd.io.x86_64: W: no-manual-page-for-binary containerd-shim-runc-v2
containerd.io.x86_64: W: no-manual-page-for-binary runc
containerd.io.x86_64: W: manpage-not-compressed gz /usr/share/man/man5/containerd-config.toml.5
containerd.io.x86_64: W: manpage-not-compressed gz /usr/share/man/man8/containerd-config.8
containerd.io.x86_64: W: manpage-not-compressed gz /usr/share/man/man8/containerd.8
containerd.io.x86_64: W: manpage-not-compressed gz /usr/share/man/man8/ctr.8
containerd.io.x86_64: E: explicit-lib-dependency libseccomp
========================================================== 1 packages and 0 specfiles checked; 5 errors, 14 warnings, 5 badness; has taken 3.4 s ===========================================================

docker.service fails to start after upgrade from 24.0.2 to 24.0.3

Hello,

We have encountered issues with our docker installation after the upgrade from 24.0.2 to 24.0.3 on the following systems:

  • Debian 10
  • Debian 11
  • Ubuntu 20.04
  • Ubuntu 22.04

According to the logs, it looks like the upgrade failed but we could not find the reason why:

~$ dpkg -l | grep docker-ce
iF  docker-ce                            5:24.0.3-1~ubuntu.20.04~focal     amd64        Docker: the open-source application container engine

When running the upgrade command it fails when starting the docker service:

$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up docker-ce (5:24.0.3-1~ubuntu.20.04~focal) ...
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.
invoke-rc.d: initscript docker, action "restart" failed.
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/docker.service.d
             └─service-overrides.conf
     Active: activating (auto-restart) (Result: exit-code) since Fri 2023-07-07 10:12:43 CEST; 23ms ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
    Process: 3601344 ExecStart=/usr/bin/dockerd $OPTIONS $DOCKER_STORAGE_OPTIONS (code=exited, status=2)
   Main PID: 3601344 (code=exited, status=2)

Jul 07 10:12:43 systemd[1]: docker.service: Failed with result 'exit-code'.
Jul 07 10:12:43 systemd[1]: Failed to start Docker Application Container Engine.
dpkg: error processing package docker-ce (--configure):
 installed docker-ce package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 docker-ce
E: Sub-process /usr/bin/dpkg returned an error code (1)

Tried to uninstall docker-ce and install it but that also did not help. For now we downgraded the servers that are affected to 24.0.2 and it works fine.

Debian package lists apparmor as recommended, but doesn't work without it

The docker-ce Debian package lists apparmor as a recommended dependency. But since the last update (23.0.0), docker does not work without apparmor.

On a freshly provisioned Debian 11 VM which does not have apparmor preinstalled (which is the case for Hetzner Cloud VMs), after installing Docker as documented:

# docker run --rm -ti debian bash
Unable to find image 'debian:latest' locally
latest: Pulling from library/debian
1e4aec178e08: Pull complete
Digest: sha256:43ef0c6c3585d5b406caa7a0f232ff5a19c1402aeb415f68bcd1cf9d10180af8
Status: Downloaded newer image for debian:latest
docker: Error response from daemon: AppArmor enabled on system but the docker-default profile could not be loaded: running `apparmor_parser apparmor_parser --version` failed with output:
error: exec: "apparmor_parser": executable file not found in $PATH.
ERRO[0004] error waiting for container: context canceled

After installing the apparmor-package in this VM, running docker containers works as expected.

So either Docker should not require apparmor by default, or list it as a required dependency in the debian package.

rpm: "Missing build-id" and "`%changelog` is missing" warnings

Seeing some warnings while building for Fedora 37 (using docker-ce-packaging at 153875c).

make DOCKER_CLI_REF=v23.0.0-rc.2 DOCKER_ENGINE_REF=v23.0.0-rc.2 VERSION=23.0.0-rc.2 fedora-37

...

RPM build warnings:
    line 57: It's not recommended to have unversioned Obsoletes: Obsoletes: docker-ce-selinux
    line 58: It's not recommended to have unversioned Obsoletes: Obsoletes: docker-engine-selinux
    line 59: It's not recommended to have unversioned Obsoletes: Obsoletes: docker-engine
    source_date_epoch_from_changelog set but %changelog is missing
    Missing build-id in /root/rpmbuild/BUILDROOT/docker-ce-23.0.0~rc.2-1.fc37.aarch64/usr/bin/docker-proxy
    source_date_epoch_from_changelog set but %changelog is missing
    source_date_epoch_from_changelog set but %changelog is missing
    source_date_epoch_from_changelog set but %changelog is missing
    Missing build-id in /root/rpmbuild/BUILDROOT/docker-buildx-plugin-0.10.0-1.fc37.aarch64/usr/libexec/docker/cli-plugins/docker-buildx
    source_date_epoch_from_changelog set but %changelog is missing
    Missing build-id in /root/rpmbuild/BUILDROOT/docker-compose-plugin-2.15.1-1.fc37.aarch64/usr/libexec/docker/cli-plugins/docker-compose

Build RPMs for Rocky and Alma (without reusing CentOS Stream RPMs)

CentOS Stream 8 will reach its EOL within less than a year ahead of Rocky and Alma:

So I suggest building RPMs for Rocky and Alma without reusing CentOS Stream RPMs.

An RPM binary for Rocky can be probably safely repurposed for Alma, and vice versa.

Issue with ubuntu bionic and libdevmapper-dev dep

Not sure but I think this an issue with libudev1:

$ make ubuntu-bionic
...
#11 2.303 (Reading database ... 21449 files and directories currently installed.)
#11 2.304 Preparing to unpack docker-ce-build-deps_1.0_all.deb ...
#11 2.312 Unpacking docker-ce-build-deps (1.0) ...
#11 2.395 Reading package lists...
#11 3.172 Building dependency tree...
#11 3.338 Reading state information...
#11 3.349 Correcting dependencies...Starting pkgProblemResolver with broken count: 2
#11 3.373 Starting 2 pkgProblemResolver with broken count: 2
#11 3.375 Investigating (0) libdevmapper-dev:amd64 < none -> 2:1.02.145-4.1ubuntu3.18.04.3 @un uN Ib >
#11 3.375 Broken libdevmapper-dev:amd64 Depends on libudev-dev:amd64 < none | 237-3ubuntu10.53 @un uH >
#11 3.375   Considering libudev-dev:amd64 1 as a solution to libdevmapper-dev:amd64 0
#11 3.375   Holding Back libdevmapper-dev:amd64 rather than change libudev-dev:amd64
#11 3.375 Investigating (0) docker-ce-build-deps:amd64 < 1.0 @iU mK Nb Ib >
#11 3.375 Broken docker-ce-build-deps:amd64 Depends on libdevmapper-dev:amd64 < none | 2:1.02.145-4.1ubuntu3.18.04.3 @un uH >
#11 3.375   Considering libdevmapper-dev:amd64 0 as a solution to docker-ce-build-deps:amd64 -2
#11 3.375   Removing docker-ce-build-deps:amd64 rather than change libdevmapper-dev:amd64
#11 3.377 Done
#11 3.393  Done
#11 3.398 Starting pkgProblemResolver with broken count: 0
#11 3.419 Starting 2 pkgProblemResolver with broken count: 0
#11 3.422 Done
#11 3.487 The following additional packages will be installed:
#11 3.488   bash-completion
#11 3.500 The following packages will be REMOVED:
#11 3.501   docker-ce-build-deps
#11 3.501 The following NEW packages will be installed:
#11 3.502   bash-completion
#11 3.571 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
#11 3.571 1 not fully installed or removed.
#11 3.571 Need to get 168 kB of archives.
#11 3.571 After this operation, 1384 kB of additional disk space will be used.
#11 3.571 Get:1 http://archive.ubuntu.com/ubuntu bionic/main amd64 bash-completion all 1:2.8-1ubuntu1 [168 kB]
#11 3.747 debconf: delaying package configuration, since apt-utils is not installed
#11 3.804 Fetched 168 kB in 0s (1324 kB/s)
(Reading database ... 21453 files and directories currently installed.)
#11 3.826 Removing docker-ce-build-deps (1.0) ...
#11 3.946 Selecting previously unselected package bash-completion.
(Reading database ... 21449 files and directories currently installed.)
#11 3.956 Preparing to unpack .../bash-completion_1%3a2.8-1ubuntu1_all.deb ...
#11 4.306 Unpacking bash-completion (1:2.8-1ubuntu1) ...
#11 4.433 Setting up bash-completion (1:2.8-1ubuntu1) ...
#11 4.826 Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
#11 4.886 mk-build-deps: Unable to install docker-ce-build-deps at /usr/bin/mk-build-deps line 402.
#11 4.886 mk-build-deps: Unable to install all build-dep packages
#11 ERROR: executor failed running [/bin/sh -c apt-get update  && mk-build-deps -t "apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y" -i /root/build-deb/debian/control]: exit code: 1
------
 > [stage-1 4/8] RUN apt-get update  && mk-build-deps -t "apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y" -i /root/build-deb/debian/control:
------
executor failed running [/bin/sh -c apt-get update  && mk-build-deps -t "apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y" -i /root/build-deb/debian/control]: exit code: 1
make: *** [Makefile:76: ubuntu-bionic] Error 1

Also fails with just base image and install:

$ docker run --rm -t ubuntu:bionic sh -c "apt-get update && apt-get install --no-install-recommends -y libdevmapper-dev"
Get:1 http://archive.ubuntu.com/ubuntu bionic InRelease [242 kB]
Get:2 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Get:3 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Get:4 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Get:5 http://archive.ubuntu.com/ubuntu bionic/multiverse amd64 Packages [186 kB]
Get:6 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages [1344 kB]
Get:7 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages [11.3 MB]
Get:8 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [1540 kB]
Get:9 http://security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [1121 kB]
Get:10 http://archive.ubuntu.com/ubuntu bionic/restricted amd64 Packages [13.5 kB]
Get:11 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [29.9 kB] 
Get:12 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [2318 kB]
Get:13 http://archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [1162 kB]
Get:14 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [3390 kB]
Get:15 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [22.8 kB]
Get:16 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [2959 kB]      
Get:17 http://archive.ubuntu.com/ubuntu bionic-backports/universe amd64 Packages [12.9 kB]
Get:18 http://archive.ubuntu.com/ubuntu bionic-backports/main amd64 Packages [12.2 kB]      
Fetched 25.9 MB in 9s (2938 kB/s)
Reading package lists... Done
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libdevmapper-dev : Depends: libudev-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Docker RPM repository symlink lead to 404

Hello!

Upgrade a RPM Based distro lead to following issue:

- Status code: 404 for https://download.docker.com/linux/centos/9.0/x86_64/stable/repodata/repomd.xml (IP: 2600:9000:236a:2600:3:db06:4200:93a1)
Error: Failed to download metadata for repo 'docker-ce-stable': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

Change 9.0 to only 9 works. But at https://download.docker.com/linux/centos, 9.0 folder exists.

Can this be fixed?

[BUG] docker compose in apt is not up to date with docker compose releases

NOTE: This issue is copied from the Docker Compose Site that was closed:
[issue-11202] (docker/compose#11202 (comment))

Description

docker_compose: 2.23.1 is not available in the apt repository.

docker compose release history:
https://docs.docker.com/compose/release-notes/

2.23.1 does not match the latest in apt with is currently v2.21.0.

Steps To Reproduce

  1. Check the Docker-Compose Release notes for the lastest version.
    docker-compose release notes

  2. Check the version available from the Ubuntu repo.

$ apt-cache madison docker-compose-plugin
docker-compose-plugin | 2.21.0-1 ubuntu.22.04-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-compose-plugin | 2.20.2-1 ubuntu.22.04-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-compose-plugin | 2.19.1-1 ubuntu.22.04-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Package

Comment from Previous Issue

  • It looks like someone on the packaging team needs to work with the docker-compose team to coordinate releases.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.