]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
container: avoid installing docs using the dnf configuration
authorJohn Mulligan <jmulligan@redhat.com>
Sat, 8 Feb 2025 19:51:23 +0000 (14:51 -0500)
committerJohn Mulligan <jmulligan@redhat.com>
Mon, 17 Mar 2025 17:42:47 +0000 (13:42 -0400)
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 <jmulligan@redhat.com>
(cherry picked from commit bf9b8d36aba3c7a8c7a3ecfc4d00359985e745b6)

container/Containerfile

index 4c5af02cb44b2e7ff65d3292de135eb6002b0610..2ab00817a71e5f6aac5096f4e44d8d36e8f5a2c7 100644 (file)
@@ -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