Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

deb, rpm: remove libseccomp-dev, libseccomp2, libselinux-devel, selinux-policy-devel, aufs-tools dependenciies #1124

Merged
merged 5 commits into from
Dec 12, 2024

Conversation

thaJeztah
Copy link
Member

deb, rpm: remove libseccomp-dev, libseccomp2 dependencies

We used to have libseccomp-dev as a build-time dependency, but this
part is handled by the OCI runtime (runc). Similarly, the libseccomp2
runtime dependency is used by runc, not by dockerd directly.

The docker-ce package depends on containerd.io, which defines libseccomp2
as a dependency, so we can remove it from the docker-ce package;

apt-cache depends containerd.io
containerd.io
  Depends: libc6
  Depends: libseccomp2
  Conflicts: containerd
  Conflicts: runc
  Replaces: containerd
    containerd.io
  Replaces: runc
    containerd.io

rpm: remove libselinux-devel dependency

The selinux code we use is purely a go implementation, and nothing links
libselinux.

rpm: remove selinux-policy-devel

This dependency was added in docker@42d8fe6, at which time we were building
a docker-selinux policy with additional policies, but we're now depending
on the distro's container-selinux package and it was removed in the moby
repository in docker@bfe5cab, so we can remove it here as well.

deb: remove aufs-tools

The AuFS storage driver was deprecated and removed, so we can remove it
as a suggested dependency.

rpm: remove version-constraint for container-selinux

The version constraint was added in e4b1c10,
later updated in a246b19 to prevent old
versions to be used, as they had some issues.

Current version on RHEL8 (which is the oldest rpm distro we build for) is
2:2.229, so we can remove this explicit constraint.

Installing:
 container-selinux                noarch           2:2.229.0-2.module+el8.10.0+22417+2fb00970          ubi-8-appstream-rpms           71 k

- A picture of a cute animal (not mandatory but encouraged)

We used to have `libseccomp-dev` as a build-time dependency, but this
part is handled by the OCI runtime (runc). Similarly, the  `libseccomp2`
runtime dependency is used by `runc`, not by `dockerd` directly.

The docker-ce package depends on `containerd.io`, which defines `libseccomp2`
as a dependency, so we can remove it from the docker-ce package;

    apt-cache depends containerd.io
    containerd.io
      Depends: libc6
      Depends: libseccomp2
      Conflicts: containerd
      Conflicts: runc
      Replaces: containerd
        containerd.io
      Replaces: runc
        containerd.io

Signed-off-by: Sebastiaan van Stijn <[email protected]>
The selinux code we use is purely a go implementation, and nothing links
libselinux.

Signed-off-by: Sebastiaan van Stijn <[email protected]>
This dependency was added in [docker/docker-ce-packaging@42d8fe6], at which time we were building
a docker-selinux policy with additional policies, but we're now depending
on the distro's `container-selinux` package and it was removed in the moby
repository in [docker/docker-ce-packaging@bfe5cab], so we can remove it here as well.

[docker/docker-ce-packaging@42d8fe6]: moby/moby@42d8fe6
[docker/docker-ce-packaging@bfe5cab]: moby/moby@bfe5cab

Signed-off-by: Sebastiaan van Stijn <[email protected]>
The version constraint was added in e4b1c10,
later updated in a246b19 to prevent old
versions to be used, as they had some issues.

Current version on RHEL8 (which is the oldest rpm distro we build for) is
2:2.229, so we can remove this explicit constraint.

    Installing:
     container-selinux                noarch           2:2.229.0-2.module+el8.10.0+22417+2fb00970          ubi-8-appstream-rpms           71 k

Signed-off-by: Sebastiaan van Stijn <[email protected]>
The AuFS storage driver was deprecated and removed, so we can remove it
as a suggested dependency.

Signed-off-by: Sebastiaan van Stijn <[email protected]>
@thaJeztah thaJeztah self-assigned this Dec 11, 2024
@thaJeztah thaJeztah marked this pull request as ready for review December 11, 2024 18:38
@thaJeztah
Copy link
Member Author

cc @neersighted @tianon @vvoland ptal 🤗

@@ -39,7 +36,7 @@ Recommends: apparmor,
pigz,
procps,
xz-utils
Suggests: aufs-tools [amd64], cgroupfs-mount | cgroup-lite
Copy link
Member Author

Choose a reason for hiding this comment

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

Double checked if it wasn't there for some other obscure purpose, but this was originally added as part of;

Copy link
Member Author

Choose a reason for hiding this comment

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

☝️ looks like there's potentially some other bits left behind in moby related to AuFS; I see auplink in there, and it looks like we still account for that in our AppArmor template; https://github.com/moby/moby/blob/7faa4ecfbfe5f641578931ff120c6e0f8faae16a/contrib/apparmor/template.go#L118-L136

@thaJeztah
Copy link
Member Author

Let me bring this one in; CI is happy 😄

@thaJeztah thaJeztah merged commit 9abf4a9 into docker:master Dec 12, 2024
8 checks passed
@thaJeztah thaJeztah deleted the prune_dependencies branch December 12, 2024 10:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants