From: John Mulligan Date: Sat, 8 Feb 2025 19:51:23 +0000 (-0500) Subject: container: avoid installing docs using the dnf configuration X-Git-Tag: v19.2.3~254^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=cb6397ea8bc85ceb8f4d04c378263ca4bfa6b551;p=ceph.git container: avoid installing docs using the dnf configuration Avoid installing docs by using the dnf configuration tsflags parameter, passing the nodocs flag. This tells dnf and rpm not to install documentation, such as manpages. Stop installing the docs just to delete them later with an `rm -rf` type command. Now the docs don't get installed in the first place, saving space, but the rpm is happy (`rpm -Va` no longer shows docs as 'missing'). Fixes: https://tracker.ceph.com/issues/69868 Signed-off-by: John Mulligan (cherry picked from commit bf9b8d36aba3c7a8c7a3ecfc4d00359985e745b6) --- diff --git a/container/Containerfile b/container/Containerfile index 4c5af02cb44b..2ab00817a71e 100644 --- a/container/Containerfile +++ b/container/Containerfile @@ -51,6 +51,15 @@ OSD_FLAVOR=${OSD_FLAVOR} # keeping run steps separate makes local rebuilds quick, but images are big without squash option #=================================================================================================== +# Disable documentation +# (assumes only [main] section exists) +RUN \ + if grep -q 'tsflags' /etc/dnf/dnf.conf ; then \ + sed -i 's/tsflags=.*/tsflags=nodocs/g' /etc/dnf/dnf.conf ; \ + else \ + echo "tsflags=nodocs" >> /etc/dnf/dnf.conf ; \ + fi + # Pre-reqs RUN dnf install -y --setopt=install_weak_deps=False epel-release jq @@ -200,7 +209,7 @@ RUN set -ex && \ rm -rf /var/lib/dnf/* && \ rm -f /var/lib/rpm/__db* && \ # remove unnecessary files with big impact - rm -rf /etc/selinux /usr/share/{doc,man,selinux} && \ + rm -rf /etc/selinux /usr/share/selinux && \ # don't keep compiled python binaries find / -xdev \( -name "*.pyc" -o -name "*.pyo" \) -delete && \ rm -f /etc/yum.repos.d/{ceph,ganesha,tcmu-runner,ceph-iscsi}.repo