integ/ceph/ceph/debian/dl_hook

107 lines
5.0 KiB
Bash
Executable File

#!/bin/bash
set -x
VERSION="14.2.22"
STX_BASE=$(realpath ${MY_REPO}/stx)
PKG_BASE=$(realpath ${STX_BASE}/integ/ceph/ceph)
CEPH_GIT_SRC_DIR=${STX_GIT_SRC_DIR}/ceph
PKG_BUILD_NAME=$1
PKG_BUILD_DIR=$(realpath `pwd`/${PKG_BUILD_NAME})
# Package up the git source
mkdir ${PKG_BUILD_NAME}
tar -acvvzf - -C ${STX_GIT_SRC_DIR} ceph | tar -xvvzf - --directory ${PKG_BUILD_DIR} --strip-components 1
# Set ceph version
(git -C ${CEPH_GIT_SRC_DIR} rev-parse HEAD ; echo "v${VERSION}") 2> /dev/null > ${PKG_BUILD_DIR}/src/.git_version
# Remove upstream's debian folder
rm -rf ${PKG_BUILD_DIR}/debian
# Additional files
cp ${PKG_BASE}/files/* ${PKG_BUILD_DIR}/
# External source modules
SOURCE1='boost_1_72_0.tar.bz2'
SOURCE2='ceph-object-corpus/ceph-object-corpus-e32bf8ca3dc6151ebe7f205ba187815bc18e1cef.tar.gz'
SOURCE3='src/civetweb/civetweb-bb99e93da00c3fe8c6b6a98520fb17cf64710ce7.tar.gz'
SOURCE4='src/erasure-code/jerasure/jerasure/jerasure-96c76b89d661c163f65a014b8042c9354ccf7f31.tar.gz'
SOURCE5='src/erasure-code/jerasure/gf-complete/gf-complete-7e61b44404f0ed410c83cfd3947a52e88ae044e1.tar.gz'
SOURCE6='src/rocksdb/rocksdb-4c736f177851cbf9fb7a6790282306ffac5065f8.tar.gz'
SOURCE7='ceph-erasure-code-corpus/ceph-erasure-code-corpus-2d7d78b9cc52e8a9529d8cc2d2954c7d375d5dd7.tar.gz'
SOURCE8='src/spdk/spdk-fd292c568f72187e172b98074d7ccab362dae348.tar.gz'
SOURCE9='src/xxHash/xxHash-1f40c6511fa8dd9d2e337ca8c9bc18b3e87663c9.tar.gz'
SOURCE10='src/isa-l/isa-l-7e1a337433a340bc0974ed0f04301bdaca374af6.tar.gz'
SOURCE11='src/lua/lua-1fce39c6397056db645718b8f5821571d97869a4.tar.gz'
SOURCE12='src/blkin/blkin-f24ceec055ea236a093988237a9821d145f5f7c8.tar.gz'
SOURCE13='src/rapidjson/rapidjson-f54b0e47a08782a6131cc3d60f94d038fa6e0a51.tar.gz'
SOURCE14='src/googletest/googletest-fdb850479284e2aae047b87df6beae84236d0135.tar.gz'
SOURCE15='src/crypto/isa-l/isa-l_crypto/isa-l_crypto-603529a4e06ac8a1662c13d6b31f122e21830352.tar.gz'
SOURCE16='src/zstd/zstd-b706286adbba780006a47ef92df0ad7a785666b6.tar.gz'
SOURCE17='src/spdk/dpdk/dpdk-96fae0e24c9088d9690c38098b25646f861a664b.tar.gz'
SOURCE18='src/rapidjson/thirdparty/gtest/googletest-0a439623f75c029912728d80cb7f1b8b48739ca4.tar.gz'
SOURCE19='src/c-ares/c-ares-fd6124c74da0801f23f9d324559d8b66fb83f533.tar.gz'
SOURCE20='src/dmclock/dmclock-4496dbc6515db96e08660ac38883329c5009f3e9.tar.gz'
SOURCE21='src/seastar/seastar-0cf6aa6b28d69210b271489c0778f226cde0f459.tar.gz'
SOURCE22='src/spawn/spawn-5f4742f647a5a33b9467f648a3968b3cd0a681ee.tar.gz'
SOURCE23='src/spdk/intel-ipsec-mb/intel-ipsec-mb-134c90c912ea9376460e9d949bb1319a83a9d839.tar.gz'
SOURCE24='src/seastar/dpdk/dpdk-a1774652fbbb1fe7c0ff392d5e66de60a0154df6.tar.gz'
SOURCE25='src/seastar/fmt/fmt-80021e25971e44bb6a6d187c0dac8a1823436d80.tar.gz'
mkdir -p ${PKG_BUILD_DIR}/src/boost
BOOST_VERSION=$(basename "${SOURCE1}" | sed 's/boost_\(.*\)\.tar\.bz2/\1/')
tar xjf $(basename "${SOURCE1}") -C ${PKG_BUILD_DIR}/src/boost \
--exclude="$BOOST_VERSION/libs/*/doc" \
--exclude="$BOOST_VERSION/libs/*/example" \
--exclude="$BOOST_VERSION/libs/*/examples" \
--exclude="$BOOST_VERSION/libs/*/meta" \
--exclude="$BOOST_VERSION/libs/*/test" \
--exclude="$BOOST_VERSION/tools/boostbook" \
--exclude="$BOOST_VERSION/tools/quickbook" \
--exclude="$BOOST_VERSION/tools/auto_index" \
--exclude='doc' \
--exclude='more' \
--exclude='status' \
--strip-components 1
unpack_submodule() {
mkdir -p "${PKG_BUILD_DIR}/$2" && tar xzf $(basename "$1") -C "${PKG_BUILD_DIR}/$2" --strip-components 1
}
unpack_submodule "${SOURCE2}" "$(dirname ${SOURCE2})"
unpack_submodule "${SOURCE3}" "$(dirname ${SOURCE3})"
unpack_submodule "${SOURCE4}" "$(dirname ${SOURCE4})"
unpack_submodule "${SOURCE5}" "$(dirname ${SOURCE5})"
unpack_submodule "${SOURCE6}" "$(dirname ${SOURCE6})"
unpack_submodule "${SOURCE7}" "$(dirname ${SOURCE7})"
unpack_submodule "${SOURCE8}" "$(dirname ${SOURCE8})"
unpack_submodule "${SOURCE9}" "$(dirname ${SOURCE9})"
unpack_submodule "${SOURCE10}" "$(dirname ${SOURCE10})"
unpack_submodule "${SOURCE11}" "$(dirname ${SOURCE11})"
unpack_submodule "${SOURCE12}" "$(dirname ${SOURCE12})"
unpack_submodule "${SOURCE13}" "$(dirname ${SOURCE13})"
unpack_submodule "${SOURCE14}" "$(dirname ${SOURCE14})"
unpack_submodule "${SOURCE15}" "$(dirname ${SOURCE15})"
unpack_submodule "${SOURCE16}" "$(dirname ${SOURCE16})"
unpack_submodule "${SOURCE17}" "$(dirname ${SOURCE17})"
unpack_submodule "${SOURCE18}" "$(dirname ${SOURCE18})"
unpack_submodule "${SOURCE19}" "$(dirname ${SOURCE19})"
unpack_submodule "${SOURCE20}" "$(dirname ${SOURCE20})"
unpack_submodule "${SOURCE21}" "$(dirname ${SOURCE21})"
unpack_submodule "${SOURCE22}" "$(dirname ${SOURCE22})"
unpack_submodule "${SOURCE23}" "$(dirname ${SOURCE23})"
unpack_submodule "${SOURCE24}" "$(dirname ${SOURCE24})"
unpack_submodule "${SOURCE25}" "$(dirname ${SOURCE25})"
# Alpine configs
sed -e "s/@VERSION@/${VERSION}/g" \
-e "s/@RPM_RELEASE@/1.stx.1/g" \
-e "s/@TARBALL_BASENAME@/${PKG_BUILD_NAME}/g" \
-i ${PKG_BUILD_DIR}/alpine/APKBUILD.in
mv ${PKG_BUILD_DIR}/alpine/APKBUILD.in ${PKG_BUILD_DIR}/alpine/APKBUILD