From 6d87276f5142b7eeb40fd0e4809f82fcb7fe6edd Mon Sep 17 00:00:00 2001 From: Kaleb S. KEITHLEY Date: May 18 2020 19:47:59 +0000 Subject: initial build of ceph octopus in C8 temporarily including fmt too until such time as its own git repo is created. Signed-off-by: Kaleb S. KEITHLEY --- diff --git a/.ceph.metadata b/.ceph.metadata new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/.ceph.metadata diff --git a/.fmt.metadata b/.fmt.metadata new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/.fmt.metadata diff --git a/README.md b/README.md new file mode 100644 index 0000000..7bfe858 --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +This is a dist-git like repo for Ceph + +The master brach is unused. Use an existing branch instead. +Branch names follow convention like `c-sig-storage-ceph-VERSION>` +as descibed on [Naming and Patterns for Mapping Git Branches to Koji Tags] +(https://wiki.centos.org/BrianStinson/GitBranchesandKojiTags) + +* c8-sig-storage-ceph-octopus: CentOS-8 +* ... + +Instructions for building the ceph package for the CentOS Storage SIG +can be found in the following places: + +* [Comunity Build System](https://wiki.centos.org/HowTos/CommunityBuildSystem) +* [Storage SIG landing page](https://wiki.centos.org/SpecialInterestGroup/Storage/Gluster) + + +E.g. build the src.rpm with: + $ rpmbuild -bs \ + --define "_sourcedir $PWD/SOURCES" --define "_srcrpmdir $PWD" \ + --define "dist .el8" SPECS/ceph.spec + +To build: + + $ `cbs build [--scratch] storage8-ceph-octopus-el8 ceph-15.2.1-1.el8.src.rpm` + + diff --git a/SOURCES/0001-src-common-crc32c_intel_fast.patch b/SOURCES/0001-src-common-crc32c_intel_fast.patch new file mode 100644 index 0000000..503dcd7 --- /dev/null +++ b/SOURCES/0001-src-common-crc32c_intel_fast.patch @@ -0,0 +1,112 @@ +--- ceph-15.1.0/src/common/crc32c_intel_fast_asm.s.orig 2020-03-04 14:37:33.431024436 -0500 ++++ ceph-15.1.0/src/common/crc32c_intel_fast_asm.s 2020-03-04 15:11:22.859388783 -0500 +@@ -40,6 +40,7 @@ + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ++ + ; crcB3 MACRO to implement crc32 on 3 %%bSize-byte blocks + %macro crcB3 3 + %define %%bSize %1 ; 1/3 of buffer size +@@ -672,3 +673,22 @@ + ; inform linker that this doesn't require executable stack + section .note.GNU-stack noalloc noexec nowrite progbits + %endif ++ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++ ++SECTION .note.gnu.property align=8 noexec ; section number 22, const ++ ++ db 04H, 00H, 00H, 00H, 20H, 00H, 00H, 00H ; 0000 _ .... ... ++ db 05H, 00H, 00H, 00H, 47H, 4EH, 55H, 00H ; 0008 _ ....GNU. ++ db 00H, 00H, 00H, 0C0H, 04H, 00H, 00H, 00H ; 0010 _ ........ ++ db 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H ; 0018 _ ........ ++ db 01H, 00H, 00H, 0C0H, 04H, 00H, 00H, 00H ; 0020 _ ........ ++ db 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H ; 0028 _ ........ ++ db 04H, 00H, 00H, 00H, 10H, 00H, 00H, 00H ; 0030 _ ........ ++ db 05H, 00H, 00H, 00H, 47H, 4EH, 55H, 00H ; 0038 _ ....GNU. ++ db 02H, 00H, 00H, 0C0H, 04H, 00H, 00H, 00H ; 0040 _ ........ ++ db 03H, 00H, 00H, 00H, 00H, 00H, 00H, 00H ; 0048 _ ........ ++ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +--- ceph-15.1.0/src/common/crc32c_intel_fast_zero_asm.s.orig 2020-03-04 15:13:06.577071783 -0500 ++++ ceph-15.1.0/src/common/crc32c_intel_fast_zero_asm.s 2020-03-04 15:13:49.873356953 -0500 +@@ -654,3 +654,22 @@ + ; inform linker that this doesn't require executable stack + section .note.GNU-stack noalloc noexec nowrite progbits + %endif ++ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++ ++SECTION .note.gnu.property align=8 noexec ; section number 22, const ++ ++ db 04H, 00H, 00H, 00H, 20H, 00H, 00H, 00H ; 0000 _ .... ... ++ db 05H, 00H, 00H, 00H, 47H, 4EH, 55H, 00H ; 0008 _ ....GNU. ++ db 00H, 00H, 00H, 0C0H, 04H, 00H, 00H, 00H ; 0010 _ ........ ++ db 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H ; 0018 _ ........ ++ db 01H, 00H, 00H, 0C0H, 04H, 00H, 00H, 00H ; 0020 _ ........ ++ db 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H ; 0028 _ ........ ++ db 04H, 00H, 00H, 00H, 10H, 00H, 00H, 00H ; 0030 _ ........ ++ db 05H, 00H, 00H, 00H, 47H, 4EH, 55H, 00H ; 0038 _ ....GNU. ++ db 02H, 00H, 00H, 0C0H, 04H, 00H, 00H, 00H ; 0040 _ ........ ++ db 03H, 00H, 00H, 00H, 00H, 00H, 00H, 00H ; 0048 _ ........ ++ ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +--- ceph-15.1.0/src/yasm-wrapper.orig 2020-03-09 12:57:37.603837466 -0400 ++++ ceph-15.1.0/src/yasm-wrapper 2020-03-09 13:02:31.496796609 -0400 +@@ -1,10 +1,11 @@ +-#!/bin/sh -e ++#!/bin/sh + + # libtool and yasm do not get along. + # filter out any crap that libtool feeds us that yasm does not understand. + #echo $0: got $* + new="" + touch="" ++object="" + while [ -n "$*" ]; do + case "$1" in + -f ) +@@ -29,6 +30,12 @@ + touch="$1" + shift + ;; ++ -o ) ++ shift ++ object="$1" ++ new="$new -o $1" ++ shift ++ ;; + * ) + new="$new $1" + shift +@@ -39,6 +46,25 @@ + #echo $0: yasm $new + yasm $new + ++INDEXOFNOTEGNUPROPLINE=$(readelf -S -W ${object} | grep ".note.gnu.property") ++ ++if [ -n "${INDEXOFNOTEGNUPROPLINE}" ]; then ++ ++ STARTOFSECTHDRLINE=$(readelf -h ${object} | grep "Start of section headers:") ++ SIZEOFSECTHDRLINE=$(readelf -h ${object} | grep "Size of section headers:") ++ ++ STARTOFSECTHDR=$(echo ${STARTOFSECTHDRLINE} | cut -d ' ' -f 5) ++ SIZEOFSECTHDR=$(echo ${SIZEOFSECTHDRLINE} | cut -d ' ' -f 5) ++ INDEXOFNOTEGNUPROPFRAG=$(echo ${INDEXOFNOTEGNUPROPLINE} | cut -d '.' -f 1) ++ ++ INDEXOFNOTEGNUPROP=$(echo ${INDEXOFNOTEGNUPROPFRAG} | grep -Eo "[[:digit:]]+") ++ ++ OFFSET=$(( ${STARTOFSECTHDR} + 4 + ( ${SIZEOFSECTHDR} * ${INDEXOFNOTEGNUPROP} ) )) ++ ++ printf '\x07' | dd of=${object} bs=1 seek=${OFFSET} count=1 conv=notrunc &> /dev/null ++ ++fi ++ + [ -n "$touch" ] && touch $touch + + true diff --git a/SOURCES/0002-src-common-CMakeLists.txt.patch b/SOURCES/0002-src-common-CMakeLists.txt.patch new file mode 100644 index 0000000..e3252b3 --- /dev/null +++ b/SOURCES/0002-src-common-CMakeLists.txt.patch @@ -0,0 +1,13 @@ +diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt +index 65ba10b0f1..eeedc29c37 100644 +--- a/src/common/CMakeLists.txt ++++ b/src/common/CMakeLists.txt +@@ -165,7 +165,7 @@ elseif(HAVE_ARMV8_CRC) + crc32c_aarch64.c) + endif(HAVE_INTEL) + +-add_library(crc32 ${crc32_srcs}) ++add_library(crc32 STATIC ${crc32_srcs}) + if(HAVE_ARMV8_CRC) + set_target_properties(crc32 PROPERTIES + COMPILE_FLAGS "${CMAKE_C_FLAGS} ${ARMV8_CRC_COMPILE_FLAGS}") diff --git a/SOURCES/0003-src-common-bitstr.h.patch b/SOURCES/0003-src-common-bitstr.h.patch new file mode 100644 index 0000000..3c7a516 --- /dev/null +++ b/SOURCES/0003-src-common-bitstr.h.patch @@ -0,0 +1,10 @@ +--- ceph-15.1.0/src/common/bit_str.h.orig 2020-02-03 09:47:20.047149798 -0500 ++++ ceph-15.1.0/src/common/bit_str.h 2020-02-03 09:47:50.213149798 -0500 +@@ -17,6 +17,7 @@ + #include + #include + #include ++#include + + namespace ceph { + class Formatter; diff --git a/SOURCES/6.2.1.tar.gz b/SOURCES/6.2.1.tar.gz new file mode 100644 index 0000000..4b02172 Binary files /dev/null and b/SOURCES/6.2.1.tar.gz differ diff --git a/SOURCES/ceph-15.2.1.tar.gz b/SOURCES/ceph-15.2.1.tar.gz new file mode 100644 index 0000000..1e39ba9 Binary files /dev/null and b/SOURCES/ceph-15.2.1.tar.gz differ diff --git a/SOURCES/cmake-modules-BuildBoost.cmake.noautopatch b/SOURCES/cmake-modules-BuildBoost.cmake.noautopatch new file mode 100644 index 0000000..47ab7a7 --- /dev/null +++ b/SOURCES/cmake-modules-BuildBoost.cmake.noautopatch @@ -0,0 +1,13 @@ +diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake +index 2e92132366..3cb1e3d958 100644 +--- a/cmake/modules/BuildBoost.cmake ++++ b/cmake/modules/BuildBoost.cmake +@@ -62,7 +62,7 @@ function(do_build_boost version) + else() + list(APPEND boost_features "address-model=32") + endif() +- set(BOOST_CXXFLAGS "-fPIC -w") # check on arm, etc <---XXX ++ set(BOOST_CXXFLAGS "-fPIC -w -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -ftemplate-depth-1024 -fno-new-ttp-matching -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free") # check on arm, etc <---XXX + list(APPEND boost_features "cxxflags=${BOOST_CXXFLAGS}") + + set(boost_with_libs) diff --git a/SOURCES/doc-_templates-layout-stripped-Google-Analytics.patch b/SOURCES/doc-_templates-layout-stripped-Google-Analytics.patch new file mode 100644 index 0000000..f724841 --- /dev/null +++ b/SOURCES/doc-_templates-layout-stripped-Google-Analytics.patch @@ -0,0 +1,24 @@ +diff --git a/doc/_templates/layout.html b/doc/_templates/layout.html +index d5f4b70d..8ff160de 100644 +--- a/doc/_templates/layout.html ++++ b/doc/_templates/layout.html +@@ -5,16 +5,6 @@ + + + +-{# Google Analytics #} +- + {% endblock %} + + {%- macro searchform(classes, button) %} +-- +2.26.2 + diff --git a/SOURCES/doc-_templates-layout-stripped-download-links.patch b/SOURCES/doc-_templates-layout-stripped-download-links.patch new file mode 100644 index 0000000..9d26197 --- /dev/null +++ b/SOURCES/doc-_templates-layout-stripped-download-links.patch @@ -0,0 +1,49 @@ +diff --git a/doc/_templates/layout.html b/doc/_templates/layout.html +index 8ff160de..85eba08d 100644 +--- a/doc/_templates/layout.html ++++ b/doc/_templates/layout.html +@@ -42,16 +42,6 @@ + {# Collect the nav links, forms, and other content for toggling #} +