We have some news to share for the request index beta feature. We’ve added more options to sort your requests, counters to the individual filters and documentation for the search functionality. Checkout the blog post for more details.

File ceph-rpmlintrc of Package ceph

# Upstream has fixed share library dependencies, all within the
# ceph src package. Eliminating them is a long-term effort.
addFilter("shlib-fixed-dependency")

# ceph-base RPM ships some internal static libraries
addFilter("ceph-base.*devel-file-in-non-devel-package.*compressor")
addFilter("ceph-base.*devel-file-in-non-devel-package.*rados-classes")
addFilter("ceph-base.*devel-file-in-non-devel-package.*libceph_crypto")
addFilter("ceph-base.*devel-file-in-non-devel-package.*libos_tp")
addFilter("ceph-base.*devel-file-in-non-devel-package.*libosd_tp")

# env shebang hack is required because the same script has to run in FreeBSD as
# well as Linux (Fedora, CentOS, SUSE, Debian, Ubuntu, etc.)
addFilter("ceph-common.*env-script-interpreter.*rbd-replay-many")
addFilter("ceph-common.*env-script-interpreter.*rbdmap")

# cephadm intentionally ships an empty file (.ssh/authorized_keys)
# and a hidden directory (/var/lib/cephadm/.ssh)
addFilter("cephadm.*zero-length")
addFilter("cephadm.*hidden-file-or-dir")

# ceph-mgr-dashboard ships a bunch of empty files and hidden files: need to audit if they are needed (WIP)
addFilter("ceph-mgr-dashboard.*zero-length")
addFilter("ceph-mgr-dashboard.*hidden-file-or-dir")

# ceph-immutable-object-cache has a weird description (WIP)
addFilter("ceph-immutable-object-cache.*description-shorter-than-summary")

# ceph-osd depends on libstoragemgmt explicitly (WIP)
addFilter("ceph-osd.*explicit-lib-dependency.*libstoragemgmt")

# we have a problem with RPM names that are too long for Joliet filesystem (WIP)
addFilter("filename-too-long-for-joliet")

# ceph-base intentionally calls its logrotate file "etc/logrotate.d/ceph"
addFilter("ceph-base.*incoherent-logrotate-file")

# many ceph executables might not be relinquishing groups (WIP)
addFilter("missing-call-to-setgroups-before-setuid")

# package summary might intentionally contain the word "Ceph" 
addFilter("name-repeated-in-summary")

# the ceph RPM should be of the noarch architecture because it contains no binaries (WIP)
addFilter("ceph.*no-binary")

# cephfs-shell might be missing a Requires (WIP)
addFilter("cephfs-shell.*no-dependency-on.*python-base")

# ceph-osd ships /etc/sudoers.d/ceph-osd-smartctl without %config (WIP)
addFilter("ceph-osd.*non-conffile-in-etc.*sudoers")

# cephadm ships /etc/sudoers.d/cephadm without %config (WIP)
addFilter("cephadm.*non-conffile-in-etc.*sudoers")

# ceph-osd ships /usr/lib/sysctl.d/90-ceph-osd.conf with %config (WIP)
addFilter("ceph-osd.*non-etc-or-var-file-marked-as-conffile.*sysctl.d")

# ceph-dashboard ships several scripts that don't have executable bit set (WIP)
addFilter("ceph-mgr-dashboard.*non-executable-script")

# ceph-mgr-rook ships a script that doesn't have executable bit set (WIP)
addFilter("ceph-mgr-rook.*non-executable-script.*generate_rook_ceph_client.sh")

# some devel packages obsolete the deprecated "ceph-devel" package without providing it (WIP)
addFilter("obsolete-not-provided.*ceph-devel")

# libcephfs2 obsoletes libcephfs1 without providing it (WIP)
addFilter("libcephfs2.*obsolete-not-provided.*libcephfs1")

# librgw2 calls exit() or _exit(), probably in a non-fork() context (WIP)
addFilter("librgw2.*shared-lib-calls-exit")

# ceph-base ships with shared libraries - these are internal and upstream does
# not want to split them into separate RPMS
addFilter("ceph-base.*shlib-policy-missing-suffix")

# the ceph RPM is a "meta" RPM without any files. These are discouraged by SUSE,
# but upstream relies on this construct and we just have to live with it.
addFilter("ceph\..*suse-filelist-empty")

# ceph-common ships bash-completion files in the wrong directory (WIP)
addFilter("ceph-common.*suse-filelist-forbidden-bashcomp-userdirs")

# ceph-base ships a logrotate file in /etc/logrotate.d/ceph but does not not
# package the log directory /var/log/ceph (WIP)
addFilter("ceph-base.*suse-logrotate-log-dir-not-packaged")

# our packages are missing "rcFOO" symlinks - I doubt if this is worth fixing
addFilter("suse-missing-rclink")

# %post scriptlets do not call service_add_post (WIP)
addFilter("systemd-service-without-service_add_post")

# %pre scriptlets do not call service_add_pre (WIP)
addFilter("systemd-service-without-service_add_pre")

# %postun scriptlets do not call service_del_postun (WIP)
addFilter("systemd-service-without-service_del_postun")

# %preun scriptlets do not call service_del_preun (WIP)
addFilter("systemd-service-without-service_del_preun")

# /run/ceph needs to be added to %files section as %ghost (WIP)
addFilter("ceph-common.*tmpfile-not-in-filelist")

# ceph-radosgw ships a SO that belongs in librgw-devel (WIP)
addFilter("ceph-radosgw.*devel-file-in-non-devel-package")

openSUSE Build Service is sponsored by