Skip to content

Commit

Permalink
alvistack/v17.2.7
Browse files Browse the repository at this point in the history
    git clean -xdf
    git submodule sync --recursive
    git submodule update --recursive --init
    git submodule foreach --recursive git checkout -- .
    git submodule foreach --recursive git clean -xdf
    ./make-debs.sh
    cp /tmp/release/Ubuntu/WORKDIR/*ceph*17.2.7*.{bz2,xz,dsc} /osc/home\:alvistack/ceph-ceph-17.2.7/
    cp ceph.spec /osc/home\:alvistack/ceph-ceph-17.2.7/ceph_17.2.7-1.spec
    cp ceph.rpmlintrc /osc/home\:alvistack/ceph-ceph-17.2.7/
    cp debian/patches/*.patch /osc/home\:alvistack/ceph-ceph-17.2.7/
    cp _constraints /osc/home\:alvistack/ceph-ceph-17.2.7/
    rm -rf /tmp/release/Ubuntu/WORKDIR

See spdk/spdk#2637
See ceph#47712
See ceph#47982
See ceph#53698
See https://tracker.ceph.com/issues/56610
See https://build.opensuse.org/package/show/filesystems:ceph:quincy:upstream/ceph
See https://src.fedoraproject.org/rpms/ceph/tree/rawhide
See https://packages.ubuntu.com/source/lunar/ceph

Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>
  • Loading branch information
hswong3i committed Feb 25, 2024
1 parent b12291d commit 1b99d0d
Show file tree
Hide file tree
Showing 87 changed files with 4,228 additions and 2,654 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -2,6 +2,7 @@
*.co
*.diff
*.deb
*.tar
*.tar.gz
*.tar.bz2
*.dsc
Expand Down
4 changes: 2 additions & 2 deletions CMakeLists.txt
Expand Up @@ -21,7 +21,7 @@ endif()
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules/")

if(NOT CMAKE_BUILD_TYPE AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
set(default_build_type "Debug")
set(default_build_type "Release")
set(CMAKE_BUILD_TYPE "${default_build_type}" CACHE
STRING "Default BUILD_TYPE is Debug, other options are: RelWithDebInfo, Release, and MinSizeRel." FORCE)
endif()
Expand Down Expand Up @@ -83,7 +83,7 @@ endif(WITH_CCACHE)
option(WITH_MANPAGE "Build man pages." ON)
if(WITH_MANPAGE)
find_program(SPHINX_BUILD
NAMES sphinx-build sphinx-build-3)
NAMES sphinx-build sphinx-build-3 sphinx-build-3.6)
if(NOT SPHINX_BUILD)
message(FATAL_ERROR "Can't find sphinx-build.")
endif(NOT SPHINX_BUILD)
Expand Down
12 changes: 12 additions & 0 deletions _constraints
@@ -0,0 +1,12 @@
<?xml version="1.0"?>
<constraints>
<sandbox>kvm</sandbox>
<hardware>
<disk>
<size unit="G">72</size>
</disk>
<physicalmemory>
<size unit="G">24</size>
</physicalmemory>
</hardware>
</constraints>
109 changes: 109 additions & 0 deletions ceph.rpmlintrc
@@ -0,0 +1,109 @@
# 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")

0 comments on commit 1b99d0d

Please sign in to comment.