aboutsummaryrefslogtreecommitdiffstats
path: root/community/ceph/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/ceph/APKBUILD')
-rw-r--r--community/ceph/APKBUILD266
1 files changed, 137 insertions, 129 deletions
diff --git a/community/ceph/APKBUILD b/community/ceph/APKBUILD
index 8c76df284c..eeb72f0e74 100644
--- a/community/ceph/APKBUILD
+++ b/community/ceph/APKBUILD
@@ -3,14 +3,14 @@
# Contributor: Duncan Bellamy <dunk@denkimushi.com>
# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
pkgname=ceph
-pkgver=16.2.0
-pkgrel=1
+pkgver=16.2.6
+pkgrel=2
pkgdesc="Ceph is a distributed object store and file system"
pkgusers="ceph"
pkggroups="ceph"
url="https://ceph.com/"
-#32bit still WIP
-arch="all !x86 !armv7 !armhf !mips !mips64"
+# riscv64 missing nodejs
+arch="all !mips !mips64 !riscv64"
# https://github.com/ceph/ceph/blob/master/COPYING
license="LGPL-2.1-only AND LGPL-2.0-or-later AND GPL-2.0-only AND GPL-3.0-only AND CC-BY-SA-1.0 AND BSL-1.0 AND GPL-2.0-or-later WITH Autoconf-exception-2.0 AND BSD-3-Clause AND MIT AND custom"
depends="ceph-osd ceph-mds ceph-mon"
@@ -41,7 +41,7 @@ makedepends="
acl-dev
argp-standalone
bc
- boost1.75-dev
+ boost-dev
btrfs-progs
bzip2-dev
cmake
@@ -51,6 +51,7 @@ makedepends="
curl-dev
cython
diffutils
+ doxygen
eudev-dev
expat-dev
fcgi-dev
@@ -59,6 +60,7 @@ makedepends="
fuse
fuse-dev
git
+ graphviz-dev
grep
gperf
jq
@@ -82,7 +84,7 @@ makedepends="
nss-dev
oath-toolkit-dev
openldap-dev
- openssl-dev
+ openssl1.1-compat-dev
procps
python3-dev
py3-sphinx
@@ -106,26 +108,35 @@ source="https://download.ceph.com/tarballs/ceph_$pkgver.orig.tar.gz
ceph.confd
ceph.initd
10-musl-fixes.patch
+ 11-parse_rfc1123_alt.patch
+ 11-dump_time_header_impl.patch
20-pci.patch
30-32bit_fix.patch.noauto
+ 30-cypress.patch.noauto
+ 30-ubuntu-32bit-fixes.patch.noauto
31-32bit_fix_tests.patch.noauto
- 32-cypress.patch.noauto
+ 32-PurgeQueue.cc-cast.patch
+ 32-upstream32bit.patch
+ 32-upstream32bitcleanup.patch
35-fix_ErasureCodeShec.patch
37-fix_tests.patch
42-no-virtualenvs.patch
- 43-aarch64-erasure.patch
- 44-LogClock.h.patch
- 44-missing-include.patch
+ 43-LogClock.h.patch
+ 44-aarch64-erasure.patch
+ 44-cmake-buildtype.patch
44-staticcast.patch
+ 44-node_modules.patch
+ 44-npm.patch
+ 44-missing-include.patch
"
subpackages="
+ $pkgname-dbg
$pkgname-doc
$pkgname-base
$pkgname-common
$pkgname-mds
$pkgname-mgr
- $pkgname-mgr-node:mgr_node:noarch
$pkgname-mon::noarch
$pkgname-mon-daemon:mon_daemon
$pkgname-mon-tools:mon_tools
@@ -153,6 +164,12 @@ subpackages="
"
# secfixes:
+# 16.2.4-r0:
+# - CVE-2021-3509
+# - CVE-2021-3531
+# - CVE-2021-3524
+# 16.2.3-r0:
+# - CVE-2021-20288
# 15.2.8-r0:
# - CVE-2020-27781
# 15.2.6-r0:
@@ -171,10 +188,6 @@ subpackages="
_ceph_uid=167
_ceph_gid=167
-_prefix=/usr
-_bindir=$_prefix/bin
-_datadir=$_prefix/share
-
_py3_sitelib() {
python3 -c "import site; print(site.getsitepackages()[0])"
}
@@ -185,9 +198,13 @@ prepare() {
case "$CARCH" in
x86|armv7|armhf)
patch -p1 -i "$srcdir"/30-32bit_fix.patch.noauto
- patch -p1 -i "$srcdir"/32-cypress.patch.noauto
+ patch -p1 -i "$srcdir"/30-cypress.patch.noauto
+ patch -p1 -i "$srcdir"/30-ubuntu-32bit-fixes.patch.noauto
patch -p1 -i "$srcdir"/31-32bit_fix_tests.patch.noauto ;;
esac
+
+ # delete bundled boost as >300mb and using system boost
+ rm -rf src/boost
}
build() {
@@ -196,7 +213,11 @@ build() {
# builders keep failing when -jN == nproc
export MAKEFLAGS="$MAKEFLAGS -j$((JOBS<16 ? JOBS : 16))"
+ # use alternate registry as original can timeout for arm32bit
+ export NPM_REGISTRY=https://registry.npmjs.org
+
cmake -B build \
+ -DCMAKE_BUILD_TYPE=None \
-DLUA_LIBRARIES=/usr/lib/lua"$_lua"/liblua.so \
-DALLOCATOR=libc \
-DCMAKE_INSTALL_PREFIX=/usr \
@@ -208,10 +229,7 @@ build() {
-DWITH_MANPAGE=ON \
-DWITH_SYSTEM_BOOST=ON \
-DWITH_SYSTEM_NPM=ON \
- -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3 \
- -DWITH_PYTHON2=OFF \
-DWITH_PYTHON3=3 \
- -DMGR_PYTHON_VERSION=3 \
-DWITH_LTTNG=OFF \
-DWITH_RDMA=OFF \
-DWITH_SYSTEMD=OFF \
@@ -224,31 +242,40 @@ build() {
}
package() {
+ # free up some space before install
+ rm -rf build/src/pybind/mgr/dashboard/cypress
+ rm -rf src/pybind/mgr/dashboard/frontend/node_modules
+
make -C build DESTDIR="$pkgdir" install
- # Remove the upstream init file and put in openrc ones
+ # remove dashboard angular app source
+ rm -rf "$pkgdir"/usr/share/ceph/mgr/dashboard/frontend/src
+
+ # remove the upstream init file and put in openrc ones
rm -f "$pkgdir"/etc/init.d/ceph
- install -D -m 0744 "$srcdir"/"$pkgname".initd "$pkgdir"/etc/init.d/ceph
- install -D -m 0744 "$srcdir"/"$pkgname".confd "$pkgdir"/etc/conf.d/ceph
+ install -D -m 755 "$srcdir"/"$pkgname".initd "$pkgdir"/etc/init.d/ceph
+ install -D -m 644 "$srcdir"/"$pkgname".confd "$pkgdir"/etc/conf.d/ceph
- # Move mount.* binaries to /sbin
+ # move mount.* binaries to /sbin
mkdir -p "$pkgdir"/sbin
mv "$pkgdir"/usr/sbin/mount.* "$pkgdir"/sbin
- install -m 0644 -D src/etc-rbdmap "$pkgdir"/etc/ceph/rbdmap
- install -m 0644 -D src/logrotate.conf "$pkgdir"/etc/logrotate.d/ceph
- install -m 0644 -D etc/sysctl/90-ceph-osd.conf "$pkgdir"/etc/sysctl.d/90-ceph-osd.conf
+ install -m 644 -D src/etc-rbdmap "$pkgdir"/etc/ceph/rbdmap
+ install -m 644 -D src/logrotate.conf "$pkgdir"/etc/logrotate.d/ceph
+ install -m 644 -D etc/sysctl/90-ceph-osd.conf "$pkgdir"/etc/sysctl.d/90-ceph-osd.conf
# udev rules
- install -m 0644 -D udev/50-rbd.rules "$pkgdir"/etc/udev/rules.d/50-rbd.rules
+ install -m 644 -D udev/50-rbd.rules "$pkgdir"/etc/udev/rules.d/50-rbd.rules
# sudoers.d
- install -m 0600 -D sudoers.d/ceph-osd-smartctl "$pkgdir"/etc/sudoers.d/ceph-osd-smartctl
-
- # copy out things that need splitting
- mv "$pkgdir"/usr/share/ceph/mgr/dashboard/frontend/node_modules "$builddir"/
+ install -m 600 -D sudoers.d/ceph-osd-smartctl "$pkgdir"/etc/sudoers.d/ceph-osd-smartctl
# delete systemd related stuff
rm "$pkgdir"/usr/sbin/ceph-volume-systemd
+
+ # move docs to docs
+ mkdir -p "$pkgdir"/usr/share/doc/ceph/dashboard
+ mv "$pkgdir"/usr/share/ceph/mgr/dashboard/*.rst "$pkgdir"/usr/share/doc/ceph/dashboard/
+ mv "$pkgdir"/usr/share/ceph/mgr/cephadm/HACKING.rst "$pkgdir"/usr/share/doc/ceph/cephadm-HACKING.rst
}
check() {
@@ -275,22 +302,20 @@ base() {
librbd=$pkgver-r$pkgrel
librados=$pkgver-r$pkgrel
libcephfs=$pkgver-r$pkgrel
- "
-
- _pkg $_bindir \
- ceph-crash \
- crushtool \
- monmaptool \
- osdmaptool \
- ceph-kvstore-tool \
- ceph-run
- amove usr/sbin/ceph-create-keys
- amove usr/libexec/ceph/ceph_common.sh
- amove usr/lib/rados-classes/*.so*
- amove usr/lib/ceph/erasure-code/libec_*.so*
- amove usr/lib/ceph/compressor/libceph_*.so*
- amove usr/lib/ceph/crypto/libceph_*.so*
- amove etc/logrotate.d/ceph
+ "
+
+ amove usr/bin/ceph-crash \
+ usr/bin/crushtool \
+ usr/bin/*maptool \
+ usr/bin/ceph-kvstore-tool \
+ usr/bin/ceph-run \
+ usr/sbin/ceph-create-keys \
+ usr/libexec/ceph/ceph_common.sh \
+ usr/lib/rados-classes/*.so* \
+ usr/lib/ceph/erasure-code/libec_*.so* \
+ usr/lib/ceph/compressor/libceph_*.so* \
+ usr/lib/ceph/crypto/libceph_*.so* \
+ etc/logrotate.d/ceph
for dir in crash crash/posted tmp bootstrap-osd bootstrap-mds \
bootstrap-rgw bootstrap-mgr bootstrap-rbd \
bootstrap-rbd-mirror; do
@@ -304,26 +329,18 @@ common() {
pkgdesc="Common utilities to mount and interact with a ceph storage cluster."
depends="py3-rados py3-rbd py3-cephfs py3-prettytable"
- _pkg $_bindir ceph \
- ceph-authtool \
- ceph-conf \
- ceph-dencoder \
- ceph-rbdnamer \
- ceph-syn \
- cephfs-data-scan \
- cephfs-journal-tool \
- cephfs-table-tool \
- rados \
- rbd \
- rbd-replay \
- rbd-replay-many \
- rbdmap \
- ceph-post-file
- amove sbin/mount.ceph
- amove usr/share/ceph/*.ceph.com*
- amove etc/ceph/rbdmap
-
- _pkg "$(_py3_sitelib)" ceph_argparse.py* ceph_daemon.py*
+ amove usr/bin/ceph \
+ usr/bin/ceph-authtool \
+ usr/bin/ceph-conf \
+ usr/bin/ceph-rbdnamer \
+ usr/bin/rados \
+ usr/bin/rbd \
+ usr/bin/rbdmap \
+ sbin/mount.ceph \
+ usr/share/ceph/*.ceph.com* \
+ etc/ceph/rbdmap
+
+ amove "$(_py3_sitelib)"/ceph_argparse.py* "$(_py3_sitelib)"/ceph_daemon.py*
amove etc/udev/rules.d/50-rbd.rules
install -m 3770 -o $_ceph_uid -g $_ceph_gid -d \
@@ -371,36 +388,36 @@ mon_tools() {
ceph_fuse() {
pkgdesc="FUSE based client for Ceph distributed network file system."
depends=
- amove usr/bin/ceph-fuse
- amove sbin/mount.fuse.ceph
+
+ amove usr/bin/ceph-fuse sbin/mount.fuse.ceph
}
rbd_fuse() {
pkgdesc="FUSE based client to map Ceph rbd images to files."
depends=
+
amove usr/bin/rbd-fuse
}
rbd_mirror() {
pkgdesc="Daemon for mirroring RBD images between Ceph clusters."
depends="ceph-common=$pkgver-r$pkgrel"
+
amove usr/bin/rbd-mirror
}
rbd_nbd() {
pkgdesc="NBD based client to map Ceph rbd images to local device."
depends=
+
amove usr/bin/rbd-nbd
}
radosgw() {
pkgdesc="Rados REST gateway which implements Amazon's S3 and OpenStack's Swift APIs."
depends="ceph-common oath-toolkit-liboath"
- _pkg $_bindir radosgw \
- radosgw-admin \
- radosgw-es \
- radosgw-object-expirer \
- radosgw-token
+
+ amove usr/bin/radosgw*
mkdir -p "$subpkgdir"/var/lib/ceph/radosgw
}
@@ -417,10 +434,10 @@ osd_daemon() {
pkgdesc="Object storage daemon for the Ceph distributed file system."
depends="$_osd_daemon_deps $pkgname-user=$pkgver-r$pkgrel"
- amove usr/bin/ceph-osd
- amove usr/libexec/ceph/ceph-osd-prestart.sh
- amove etc/sudoers.d/ceph-osd-smartctl
- amove etc/sysctl.d/90-ceph-osd.conf
+ amove usr/bin/ceph-osd \
+ usr/libexec/ceph/ceph-osd-prestart.sh \
+ etc/sudoers.d/ceph-osd-smartctl \
+ etc/sysctl.d/90-ceph-osd.conf
install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
"$subpkgdir"/var/lib/ceph/osd
}
@@ -429,10 +446,7 @@ osd_tools() {
pkgdesc="Object storage daemon tools for the Ceph distributed file system."
depends="$pkgname-base=$pkgver-r$pkgrel $_osd_tools_deps"
- _pkg $_bindir ceph-clsinfo \
- ceph-bluestore-tool \
- ceph-objectstore-tool \
- ceph-osdomap-tool
+ amove usr/bin/ceph-clsinfo usr/bin/ceph-*-tool
install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
"$subpkgdir"/var/lib/ceph/osd
}
@@ -441,16 +455,15 @@ ceph_volume() {
pkgdesc="ceph-volume tool for the Ceph distributed file system."
depends="$_ceph_volume_deps"
- amove usr/sbin/ceph-volume
- amove "$(_py3_sitelib)"/ceph_volume
- amove "$(_py3_sitelib)"/ceph_volume-*
+ amove usr/sbin/ceph-volume \
+ "$(_py3_sitelib)"/ceph_volume "$(_py3_sitelib)"/ceph_volume-*
}
librados() {
pkgdesc="RADOS distributed object store client library"
depends=
- amove usr/lib/librados.so.*
- amove usr/lib/ceph/libceph-common.so.*
+
+ amove usr/lib/librados.so.* usr/lib/ceph/libceph-common.so.*
}
_py3_rados() {
@@ -470,6 +483,7 @@ libradosstriper() {
librbd() {
pkgdesc="RADOS block device client library"
depends=
+
amove usr/lib/librbd.so.*
}
@@ -483,6 +497,7 @@ _py3_rbd() {
libcephfs() {
pkgdesc="Ceph distributed file system client library"
depends=
+
amove usr/lib/libcephfs.so.*
}
@@ -490,20 +505,27 @@ _py3_cephfs() {
pkgdesc="Python libraries for Ceph distributed file system"
depends="py3-rados"
- amove "$(_py3_sitelib)"/cephfs*
- amove "$(_py3_sitelib)"/ceph_volume_client.py
+ amove "$(_py3_sitelib)"/cephfs* "$(_py3_sitelib)"/ceph_volume_client.py
}
utils() {
- pkgdesc="Ceph utils"
+ pkgdesc="Ceph utils and recovery tools"
depends="ceph-common=$pkgver-r$pkgrel"
- amove usr/bin/ceph-diff-sorted
+ amove usr/bin/ceph-diff-sorted \
+ usr/bin/ceph-post-file \
+ usr/bin/ceph-syn \
+ usr/bin/cephfs-data-scan \
+ usr/bin/ceph-dencoder \
+ usr/bin/cephfs-journal-tool \
+ usr/bin/cephfs-table-tool \
+ usr/bin/rbd-replay*
}
bash_completion() {
pkgdesc="Bash completions for Ceph"
depends=
+
install_if="ceph=$pkgver-r$pkgrel bash-completion"
amove etc/bash_completion.d/*
}
@@ -512,49 +534,35 @@ mgr() {
pkgdesc="Ceph Manager Daemon"
depends="ceph-base=$pkgver-r$pkgrel"
- amove usr/bin/ceph-mgr
- _pkg $_datadir/ceph mgr
+ amove usr/bin/ceph-mgr usr/share/ceph/mgr
install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
"$subpkgdir"/var/lib/ceph/mgr
}
-mgr_node() {
- pkgdesc="Ceph Manager NodeJS installed modules"
- depends="$pkgname-mgr=$pkgver-r$pkgrel nodejs npm"
- install="$subpkgname.post-install $subpkgname.post-deinstall"
-
- mkdir -p "$subpkgdir"/usr/share/ceph/mgr/dashboard/frontend
- cd "$subpkgdir"/usr/share/ceph/mgr/dashboard/frontend
- cp "$builddir"/src/pybind/mgr/dashboard/frontend/package*.json ./
- npm shrinkwrap
-}
-
-_pkg() {
- local path=$1
- shift
- if ! [ -d "$pkgdir"/$path ]; then
- error "$pkgdir/$path is not a directory"
- return 1
- fi
- mkdir -p "$subpkgdir"$path
- for _file in "$@"; do
- mv "$pkgdir"$path/$_file "$subpkgdir"$path
- done
-}
-
-sha512sums="aeb9a91c33221c64ea24603dc88cab346bf0abdf0d41ff85c2e1cf134130737ec1fab1246be0a2fa3af8a655ae1dabb69688855f229f54438e60cb8098175b8e ceph_16.2.0.orig.tar.gz
+sha512sums="
+f01e29088ae566d4111c21b5d0c173ddb02badaa0d8272f7f1548eb8e66a95dc7052b3945d9fb342e6c97a65c57648fda394317340d1f4236a57af7580073658 ceph_16.2.6.orig.tar.gz
110bdbcb40216c7ed155a8d23020784741b4992d895f4f04a146d275506e4e68053854d3b063b41e9c9b3e3e4f95b6b90602f92c185c853c0d8f47ad0c6b7121 ceph.confd
ce5f162501f6b67fe254546dddf880d1a5b1d1a0fa69e0b1918de17e8da45c5c6124512b8cbd98b76f29d931403de0d11c5ffd330ed8ee1f4dc75bb04baecae3 ceph.initd
-c608f11cf358d76daf5281467a4ea941a81474fbe7f5faa41f7f4d0abaf9136a01576bbb1ab24bdd7bc91a49f66bd7f0a84717de5ec27250d74dd1e47e3b5dd3 10-musl-fixes.patch
-427ab410aeb02d49c5caa8ff68c7b8df325229823d625b7069cd48c66dd9e129e742270850fb2be2238eb6fa12b8256845b4d94426ca96b2a9187b2726e78423 20-pci.patch
-10ba6f106b3a5f81a3b1852df106a043e83b239ff4d558abd1ff421c644df0f66e84c728cc623adf8708a735e284d0682cd5e6be5c7e60817de4e7571f6f3766 30-32bit_fix.patch.noauto
+94687578411bf0de1b17555ed81c188c88ea63ac4a25993bd8fde9cf68afbbfbdec7b2d7c54fdcfbd4aed4eb78754e8061c308955596cbe037ff15b575874cc6 10-musl-fixes.patch
+ff6e281388432ef864e72e00833f979c7bafe14d56c08968835a123466bf5e82239dfb8a7d89afa9caabba445217ae4ba0d7f89093c2edf243dd7cca3353efbe 11-parse_rfc1123_alt.patch
+211e6f5f8fc962878196ec917984781eb4a8a9495bcc8d1729b34ac66abd2d4a0b7388ae2caee9d5deb664d54860d120a37215924625e82eac9bfca16179667a 11-dump_time_header_impl.patch
+03ef3598181c45ecba5600a1e4db7fd897ea9d3c8abdfaad2dcf84c7a241d9ba18e7f7885d69ee0572ee307fc94600a2784a07da909d37a51de27f8ded2e3a70 20-pci.patch
+b879993a285a771c3640c5214ff70e8e01673c0c5e23a0f88ac70db168aeb1dd2eaed12805ed5076adae5a0f596abcb9d82220c6fd97643169cb92788898a189 30-32bit_fix.patch.noauto
+2eebc4501d40edf92c5302b25dea554807caba6abd22a3569d708db8a057085d74a3ecdac2adab54edb0619cf3d74884e1d44ef95d991a069dd473279819b974 30-cypress.patch.noauto
+01c446ac4528d8e12d3544f603ba32a0bf0d5a3a72f9f8f3726725f9d225ee447d2fea4ee2ddf10b36498cc01f2ecf51175dbfcc6376aac4c8002f52c6a04299 30-ubuntu-32bit-fixes.patch.noauto
f974ab36cd6fa49c1d4613203a4f2152723e4952a185dfb6349bc4ca8ee1a7a9d0477bea136c54248271de30a4e584734ba41e8ec41bf274b04074622888ae39 31-32bit_fix_tests.patch.noauto
-0ea07b5bf8aeb3e0bffc04bf1058af9db0e1e773922be348ebf79594d860a1e734897ef34af143790ef12c3dffa7588b63e94390a1c236b0da0ddf4c689c8dbd 32-cypress.patch.noauto
-8a3e902309238ae6917b4c5fe9fa371dad3ba8e01848f462a9b67ad8d69b8370a8957f6c88462a7016319fd323eb6d6c31415734db56485a8a8b279d2705aff5 35-fix_ErasureCodeShec.patch
-cdd7cd0853ad0804415335e0e0c7dc72098de07c769e05d785ac1ebce77311eed6c5ab795c58eededdfa2eaeaf39e9b83c733be2e476b687cadf89c1b5b24a27 37-fix_tests.patch
-985fbcfa83164fe6a5ea517be2a5529eeb9a061bf38ddbc4fa3e8363d0b88f93b00fd1b638344991e2cc6cb52392f02c55690949de38211d541366fd0bce7401 42-no-virtualenvs.patch
-aea43c2a99f16f7fccf33aeca3565077bb2274816ca68db64b672addc85bde5c479bc9ad0fb33dbde79c9390f9acf1d98545e20e311e40dd428dad5ed02f0651 43-aarch64-erasure.patch
-e47d736d3ab1417758fc5f92798a77272b978799e6d9f0728b2036d6cc5975c6c10f8dc4590c2e1cb31e1e9fc03c582394b30727e315a6889de524fc8bf95369 44-LogClock.h.patch
-125627c9ce4d5c0be1cd9e371c7ac0ad9ffd3fc0ccc0290b2c3ff4cc9c8f8b3c2a5e96bf9eaf0de2426e5b05d5f221ec5e7b5d1ef0b085b56da45f664955f2c9 44-missing-include.patch
-f89c913a53e2806c59508d26f5dc72abb428c7e4e3b7c1aeb6eaf92744ea9a13cac2f00a2ac90f91ad7682f66d876a5fffedd10feeceecd71a944793581da443 44-staticcast.patch"
+964e7ca107cc731be2be7bf6813aca760ca1c6e6f6b3748103c1e6baef4d25e41442752a72f5e5daed2b1c6c4f96c9aebbb7114247e8a5047511fbd035767aeb 32-PurgeQueue.cc-cast.patch
+fb69f1c886f3cc05a10dd8722429c6bdc840674113e83cf3592caf75b5d4082e5bdaea73426b28edbde724c4973775f2109a3eb4e0a84384fa8083621d463fbd 32-upstream32bit.patch
+73326b47deb0967ff024731c28a956ca63800ffcbfa36c6351c157328d2036b3f8406368cc7c7e087841e144b32889f27d807f3405ac1c5a1c2daf6bd7ca5338 32-upstream32bitcleanup.patch
+abb3cab9c01cc3d6d42a9858678059a8c9c43bda2649bf97b489fdc205eb10ae27f9fb7302062e0fb41f5cffddbfc2ae529130569034f373732a0a5d33aba86e 35-fix_ErasureCodeShec.patch
+908169df45177240d2dcc721fe1637c521789aed56c3b3400ed3ba9c73d93634e4369258fb0e0395dc27053be26229ee8f370e445f0e69d01f551a710a29d407 37-fix_tests.patch
+2584ceb68b50423fac386ce83ad194f22aa574e11b99916e712471bacba28486d2639a8fe63d97c5697f33270c0de99db1f0e76eb43b14cc47c6de7da6903fde 42-no-virtualenvs.patch
+6f4235d0ab591d4fb3ea9327199a5149821f20d05aebe21c01430d1ac793bb3083f13884db1ac670dd51c074e6d769672fab27001392213f7b997bb0b5187493 43-LogClock.h.patch
+545bcfd907937029e316487bd5cfe96aba2ca4dd1aa09d0c7901662a35c4bd63a71aa83773fdd05ab1889e5f73c47382fedcafbd90c371b01213f028d7136973 44-aarch64-erasure.patch
+624ff72debfb698d681b187c99da9e927c6e4f5df7bc741b7dd196a9ee20773ac8a0f103314983faa29b934e6753407a02abfec2553feb1c3e1fcf20772cb1d9 44-cmake-buildtype.patch
+f89c913a53e2806c59508d26f5dc72abb428c7e4e3b7c1aeb6eaf92744ea9a13cac2f00a2ac90f91ad7682f66d876a5fffedd10feeceecd71a944793581da443 44-staticcast.patch
+85d0009b0d1442af81d115402cdbd17667d85314030e1748a4656c1ee798b02efdcff41ccb374a6b63f7bf012bf1756b61e75c5d2b6399c329a6e62024ad0011 44-node_modules.patch
+013d94202e579bd07cc0824c32356b20b477a6076858dcec59b65fd8b58b7f240811bda28940e99aa712196bb24a5a4e41c4f837f5dd22b14ae4415f65681cfc 44-npm.patch
+b95ec157f9c77177afd3deb8e3485bb5f10e1b634a15617d14e09b08d6680d32201ecb249ea5ea98127a312e1fdb22fdbe9f0216690291a2849419aa7ab81610 44-missing-include.patch
+"