|
# Contributor: Anthony Davies <anthony.t.davies@gmail.com>
|
|
# Contributor: John Coyle <dx9err@gmail.com>
|
|
# Maintainer: Iggy Jackson <iggy@kws1.com>
|
|
|
|
pkgname=ceph
|
|
pkgver=15.2.0
|
|
pkgrel=1
|
|
pkgdesc="Ceph is a distributed object store and file system"
|
|
pkgusers="ceph"
|
|
pkggroups="ceph"
|
|
url="https://ceph.com/"
|
|
arch="x86_64 aarch64 armv7"
|
|
# 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 WITH Autoconf-exception-2.0 AND BSD-3-Clause AND MIT AND custom"
|
|
depends="ceph-osd ceph-mds ceph-mon"
|
|
options="!checkroot"
|
|
_base_deps="
|
|
cryptsetup
|
|
e2fsprogs
|
|
logrotate
|
|
parted
|
|
util-linux
|
|
xfsprogs
|
|
"
|
|
_osd_daemon_deps="fuse snappy lz4-libs"
|
|
_osd_tools_deps="lz4-libs"
|
|
_ceph_volume_deps="lvm2"
|
|
_ceph_test_deps="xmlstarlet"
|
|
makedepends="
|
|
acl-dev
|
|
argp-standalone
|
|
bc
|
|
boost-dev
|
|
btrfs-progs
|
|
bzip2-dev
|
|
cmake
|
|
coreutils
|
|
cunit-dev
|
|
curl-dev
|
|
cython
|
|
diffutils
|
|
eudev-dev
|
|
expat-dev
|
|
fcgi-dev
|
|
flex
|
|
fuse
|
|
fuse-dev
|
|
git
|
|
grep
|
|
gperf
|
|
jq
|
|
keyutils-dev
|
|
leveldb-dev
|
|
libaio-dev
|
|
libatomic_ops-dev
|
|
libedit-dev
|
|
openssl-dev
|
|
libtirpc-dev
|
|
libtool
|
|
libxml2-dev
|
|
librdkafka-dev
|
|
linux-headers
|
|
lvm2-dev
|
|
lz4-dev
|
|
nodejs
|
|
nss-dev
|
|
oath-toolkit-dev
|
|
openldap-dev
|
|
procps
|
|
python3-dev
|
|
py3-pip
|
|
py3-nose
|
|
py3-setuptools
|
|
py3-sphinx
|
|
py3-virtualenv
|
|
rabbitmq-c-dev
|
|
readline-dev
|
|
rpcgen
|
|
snappy-dev
|
|
userspace-rcu-dev
|
|
xfsprogs-dev
|
|
xmlstarlet
|
|
yasm
|
|
libcap-ng-dev
|
|
libnl3-dev
|
|
$_base_deps
|
|
$_osd_daemon_deps
|
|
$_osd_tools_deps
|
|
$_ceph_volume_deps
|
|
$_ceph_test_deps
|
|
"
|
|
|
|
source="https://download.ceph.com/tarballs/ceph_$pkgver.orig.tar.gz
|
|
nodeenv-armv8l.patch
|
|
PurgeQueue.cc.patch
|
|
musl-fixes.patch
|
|
git_search_fix.patch
|
|
"
|
|
|
|
subpackages="
|
|
$pkgname-doc
|
|
$pkgname-base
|
|
$pkgname-common
|
|
$pkgname-mds
|
|
$pkgname-mgr
|
|
$pkgname-mon
|
|
$pkgname-mon-daemon:mon_daemon
|
|
$pkgname-mon-tools:mon_tools
|
|
$pkgname-fuse:ceph_fuse
|
|
$pkgname-openrc
|
|
$pkgname-osd
|
|
$pkgname-osd-daemon:osd_daemon
|
|
$pkgname-osd-tools:osd_tools
|
|
$pkgname-volume:ceph_volume:noarch
|
|
$pkgname-radosgw
|
|
$pkgname-bash-completion:bash_completion:noarch
|
|
$pkgname-dev
|
|
$pkgname-user
|
|
rbd-fuse:rbd_fuse
|
|
rbd-mirror:rbd_mirror
|
|
rbd-nbd:rbd_nbd
|
|
librbd
|
|
libcephfs
|
|
librados
|
|
py3-rados:_py3_rados
|
|
libradosstriper
|
|
py3-rbd:_py3_rbd
|
|
py3-cephfs:_py3_cephfs
|
|
"
|
|
|
|
# secfixes:
|
|
# 14.2.3-r0:
|
|
# - CVE-2019-10222
|
|
|
|
_ceph_uid=167
|
|
_ceph_gid=167
|
|
|
|
_prefix=/usr
|
|
_bindir=$_prefix/bin
|
|
_datadir=$_prefix/share
|
|
_docdir=$_datadir/doc
|
|
_includedir=$_prefix/include
|
|
_libdir=$_prefix/lib
|
|
_libexecdir=$_prefix/libexec
|
|
_localstatedir=/var
|
|
_mandir=$_datadir/man
|
|
_sbindir=/usr/sbin
|
|
_syssbindir=/sbin
|
|
_sysconfdir=/etc
|
|
|
|
_udevrulesdir=/etc/udev/rules.d
|
|
|
|
_py3_sitelib() {
|
|
python3 -c "import site; print(site.getsitepackages()[0])"
|
|
}
|
|
|
|
build() {
|
|
export CEPH_BUILD_VIRTUALENV="$builddir"
|
|
|
|
mkdir -p "$builddir"/build/src
|
|
cp "$builddir"/src/.git_version "$builddir"/build/src
|
|
cd "$builddir"/build
|
|
|
|
echo "Building for CARCH $CARCH"
|
|
case "$CARCH" in
|
|
armv7)
|
|
cmake .. \
|
|
-DALLOCATOR=libc \
|
|
-DCMAKE_INSTALL_PREFIX=$_prefix \
|
|
-DCMAKE_INSTALL_LIBDIR=$_libdir \
|
|
-DCMAKE_INSTALL_LIBEXECDIR=$_libexecdir \
|
|
-DCMAKE_INSTALL_LOCALSTATEDIR=$_localstatedir \
|
|
-DCMAKE_INSTALL_SYSCONFDIR=$_sysconfdir \
|
|
-DCMAKE_INSTALL_DOCDIR=$_docdir/ceph \
|
|
-DCMAKE_INSTALL_MANDIR=$_mandir \
|
|
-DWITH_REENTRANT_STRSIGNAL=ON \
|
|
-DWITH_THREAD_SAFE_RES_QUERY=ON \
|
|
-DWITH_MANPAGE=ON \
|
|
-DWITH_SYSTEM_BOOST=ON \
|
|
-DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3 \
|
|
-DWITH_PYTHON2=OFF \
|
|
-DWITH_PYTHON3=ON \
|
|
-DMGR_PYTHON_VERSION=3 \
|
|
-DWITH_LTTNG=OFF \
|
|
-DWITH_RDMA=OFF \
|
|
-DWITH_SYSTEMD=OFF \
|
|
-DWITH_SPDK=OFF \
|
|
-DWITH_BABELTRACE=OFF \
|
|
-DWITH_RADOSGW_AMQP_ENDPOINT=OFF \
|
|
-DWITH_TESTS=OFF \
|
|
-DCMAKE_C_FLAGS=-march="armv7-a+neon-vfpv4 -latomic" \
|
|
-DCMAKE_SYSTEM_PROCESSOR=arm \
|
|
-DHAVE_ARMV8_CRC=OFF \
|
|
-DHAVE_ARMV8_SIMD=OFF \
|
|
-DHAVE_ARMV8_CRYPTO=OFF \
|
|
-DHAVE_ARMV8_CRC_CRYPTO_INTRINSICS=OFF
|
|
;;
|
|
*)
|
|
cmake .. \
|
|
-DALLOCATOR=libc \
|
|
-DCMAKE_INSTALL_PREFIX=$_prefix \
|
|
-DCMAKE_INSTALL_LIBDIR=$_libdir \
|
|
-DCMAKE_INSTALL_LIBEXECDIR=$_libexecdir \
|
|
-DCMAKE_INSTALL_LOCALSTATEDIR=$_localstatedir \
|
|
-DCMAKE_INSTALL_SYSCONFDIR=$_sysconfdir \
|
|
-DCMAKE_INSTALL_DOCDIR=$_docdir/ceph \
|
|
-DCMAKE_INSTALL_MANDIR=$_mandir \
|
|
-DWITH_REENTRANT_STRSIGNAL=ON \
|
|
-DWITH_THREAD_SAFE_RES_QUERY=ON \
|
|
-DWITH_MANPAGE=ON \
|
|
-DWITH_SYSTEM_BOOST=ON \
|
|
-DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3 \
|
|
-DWITH_PYTHON2=OFF \
|
|
-DWITH_PYTHON3=ON \
|
|
-DMGR_PYTHON_VERSION=3 \
|
|
-DWITH_LTTNG=OFF \
|
|
-DWITH_RDMA=OFF \
|
|
-DWITH_SYSTEMD=OFF \
|
|
-DWITH_SPDK=OFF \
|
|
-DWITH_BABELTRACE=OFF \
|
|
-DWITH_RADOSGW_AMQP_ENDPOINT=OFF \
|
|
-DWITH_TESTS=OFF
|
|
;;
|
|
esac
|
|
|
|
make
|
|
|
|
}
|
|
|
|
package() {
|
|
cd "$builddir"/build
|
|
make DESTDIR="$pkgdir" install
|
|
cd ..
|
|
|
|
rm -f "$pkgdir"$_sysconfdir/init.d/ceph
|
|
|
|
# Move mount.* binaries to /sbin
|
|
mkdir -p "$pkgdir"$_syssbindir
|
|
mv "$pkgdir"$_sbindir/mount.* "$pkgdir"$_syssbindir
|
|
|
|
# We need to clean this out before packaging as it's freaking huge
|
|
rm -rf "$pkgdir"$_datadir/ceph/mgr/dashboard/frontend/node_modules
|
|
|
|
install -m 0644 -D src/etc-rbdmap "$pkgdir"$_sysconfdir/ceph/rbdmap
|
|
install -m 0644 -D src/logrotate.conf "$pkgdir"$_sysconfdir/logrotate.d/ceph
|
|
install -m 0644 -D etc/sysctl/90-ceph-osd.conf "$pkgdir"/$_sysconfdir/sysctl.d/90-ceph-osd.conf
|
|
chmod 0644 "$pkgdir"$_docdir/ceph/sample.ceph.conf
|
|
|
|
# udev rules
|
|
install -m 0644 -D udev/50-rbd.rules "$pkgdir"$_udevrulesdir/50-rbd.rules
|
|
|
|
# sudoers.d
|
|
install -m 0600 -D sudoers.d/ceph-osd-smartctl "$pkgdir"/$_sysconfdir/sudoers.d/ceph-osd-smartctl
|
|
}
|
|
|
|
check() {
|
|
cd "$builddir"/build
|
|
ctest
|
|
}
|
|
|
|
# This subpackage is a little weird and a side effect of trying to keep
|
|
# the daemon packages as small as possible. We might be able to roll this into
|
|
# the base/common package later if we can slim those down or break them up in a
|
|
# different way
|
|
user() {
|
|
pkgdesc="Minimal package to create a user for other ceph packages."
|
|
depends=""
|
|
install="$pkgname-user.pre-install"
|
|
mkdir -p "$subpkgdir"
|
|
}
|
|
|
|
base() {
|
|
pkgdesc="Base is the package that includes all the files shared amongst ceph servers"
|
|
depends="$_base_deps
|
|
$pkgname-user=$pkgver-r$pkgrel
|
|
$pkgname-common=$pkgver-r$pkgrel
|
|
librbd=$pkgver-r$pkgrel
|
|
librados=$pkgver-r$pkgrel
|
|
libcephfs=$pkgver-r$pkgrel
|
|
"
|
|
|
|
_pkg $_bindir \
|
|
ceph-crash \
|
|
crushtool \
|
|
monmaptool \
|
|
osdmaptool \
|
|
ceph-kvstore-tool \
|
|
ceph-run
|
|
_pkg $_sbindir ceph-create-keys
|
|
_pkg $_libexecdir/ceph ceph_common.sh
|
|
_pkg $_libdir/rados-classes '*.so*'
|
|
_pkg $_libdir/ceph/erasure-code 'libec_*.so*'
|
|
_pkg $_libdir/ceph/compressor 'libceph_*.so*'
|
|
_pkg $_libdir/ceph/crypto 'libceph_*.so*'
|
|
_pkg $_sysconfdir/logrotate.d ceph
|
|
for dir in crash crash/posted tmp bootstrap-osd bootstrap-mds \
|
|
bootstrap-rgw bootstrap-mgr bootstrap-rbd \
|
|
bootstrap-rbd-mirror; do
|
|
|
|
install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
|
|
"$subpkgdir"$_localstatedir/lib/ceph/$dir
|
|
done
|
|
}
|
|
|
|
common() {
|
|
pkgdesc="Common utilities to mount and interact with a ceph storage cluster."
|
|
depends="py3-rados py3-rbd py3-cephfs"
|
|
|
|
_pkg $_bindir ceph \
|
|
ceph-authtool \
|
|
ceph-conf \
|
|
ceph-rbdnamer \
|
|
ceph-syn \
|
|
cephfs-data-scan \
|
|
cephfs-journal-tool \
|
|
cephfs-table-tool \
|
|
rados \
|
|
rbd \
|
|
rbd-replay \
|
|
rbd-replay-many \
|
|
rbdmap \
|
|
ceph-post-file
|
|
_pkg $_syssbindir mount.ceph
|
|
_pkg $_datadir/ceph known_hosts_drop.ceph.com \
|
|
id_rsa_drop.ceph.com \
|
|
id_rsa_drop.ceph.com.pub
|
|
_pkg $_sysconfdir/ceph rbdmap
|
|
|
|
_pkg "$(_py3_sitelib)" ceph_argparse.py* ceph_daemon.py*
|
|
|
|
_pkg $_udevrulesdir 50-rbd.rules
|
|
install -m 3770 -o $_ceph_uid -g $_ceph_gid -d \
|
|
"$subpkgdir"$_localstatedir/log/ceph
|
|
install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
|
|
"$subpkgdir"$_localstatedir/lib/ceph
|
|
}
|
|
|
|
mds() {
|
|
pkgdesc="Metadata server daemon for the Ceph distributed file system."
|
|
depends="ceph-base"
|
|
|
|
_pkg $_bindir ceph-mds
|
|
install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
|
|
"$subpkgdir"$_localstatedir/lib/ceph/mds
|
|
}
|
|
|
|
mon() {
|
|
pkgdesc="Cluster monitor daemon virtual package for the Ceph distributed file system."
|
|
depends="$pkgname-base
|
|
$pkgname-mon-daemon=$pkgver-r$pkgrel
|
|
$pkgname-mon-tools=$pkgver-r$pkgrel"
|
|
|
|
mkdir -p "$subpkgdir"
|
|
}
|
|
|
|
mon_daemon() {
|
|
pkgdesc="Cluster monitor daemon for the Ceph distributed file system."
|
|
depends="$pkgname-user=$pkgver-r$pkgrel"
|
|
|
|
_pkg $_bindir ceph-mon
|
|
install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
|
|
"$subpkgdir"$_localstatedir/lib/ceph/mon
|
|
}
|
|
|
|
mon_tools() {
|
|
pkgdesc="Cluster monitor tools for the Ceph distributed file system."
|
|
|
|
_pkg $_bindir ceph-monstore-tool
|
|
install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
|
|
"$subpkgdir"$_localstatedir/lib/ceph/mon
|
|
}
|
|
|
|
ceph_fuse() {
|
|
pkgdesc="FUSE based client for Ceph distributed network file system."
|
|
depends=
|
|
_pkg $_bindir ceph-fuse
|
|
_pkg $_syssbindir mount.fuse.ceph
|
|
}
|
|
|
|
rbd_fuse() {
|
|
pkgdesc="FUSE based client to map Ceph rbd images to files."
|
|
depends=
|
|
_pkg $_bindir rbd-fuse
|
|
}
|
|
|
|
rbd_mirror() {
|
|
pkgdesc="Daemon for mirroring RBD images between Ceph clusters."
|
|
depends="ceph-common=$pkgver-r$pkgrel"
|
|
_pkg $_bindir rbd-mirror
|
|
}
|
|
|
|
rbd_nbd() {
|
|
pkgdesc="NBD based client to map Ceph rbd images to local device."
|
|
depends=
|
|
_pkg $_bindir 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
|
|
mkdir -p "$subpkgdir"$_localstatedir/lib/ceph/radosgw
|
|
}
|
|
|
|
osd() {
|
|
pkgdesc="Object storage daemon virtual package for the Ceph distributed file system."
|
|
depends="$pkgname-osd-daemon=$pkgver-r$pkgrel
|
|
$pkgname-osd-tools=$pkgver-r$pkgrel
|
|
$pkgname-volume=$pkgver-r$pkgrel"
|
|
|
|
mkdir -p "$subpkgdir"
|
|
}
|
|
|
|
osd_daemon() {
|
|
pkgdesc="Object storage daemon for the Ceph distributed file system."
|
|
depends="$_osd_daemon_deps $pkgname-user=$pkgver-r$pkgrel"
|
|
|
|
_pkg $_bindir ceph-osd
|
|
_pkg $_libexecdir/ceph ceph-osd-prestart.sh
|
|
_pkg $_sysconfdir/sudoers.d ceph-osd-smartctl
|
|
_pkg $_sysconfdir/sysctl.d 90-ceph-osd.conf
|
|
install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
|
|
"$subpkgdir"$_localstatedir/lib/ceph/osd
|
|
}
|
|
|
|
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
|
|
install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
|
|
"$subpkgdir"$_localstatedir/lib/ceph/osd
|
|
}
|
|
|
|
ceph_volume() {
|
|
pkgdesc="ceph-volume tool for the Ceph distributed file system."
|
|
depends="$_ceph_volume_deps"
|
|
|
|
_pkg $_sbindir ceph-volume
|
|
_pkg "$(_py3_sitelib)" ceph_volume 'ceph_volume-*'
|
|
}
|
|
|
|
librados() {
|
|
pkgdesc="RADOS distributed object store client library"
|
|
depends=
|
|
_pkg $_libdir librados.so.*
|
|
_pkg $_libdir/ceph libceph-common.so.*
|
|
}
|
|
|
|
_py3_rados() {
|
|
pkgdesc="Python libraries for the RADOS object store"
|
|
depends=
|
|
|
|
_pkg "$(_py3_sitelib)" rados*.so rados-*.egg-info
|
|
}
|
|
|
|
libradosstriper() {
|
|
pkgdesc="RADOS striping library"
|
|
depends=
|
|
|
|
_pkg $_libdir libradosstriper.so.*
|
|
}
|
|
|
|
librbd() {
|
|
pkgdesc="RADOS block device client library"
|
|
depends=
|
|
_pkg $_libdir librbd.so.*
|
|
}
|
|
|
|
_py3_rbd() {
|
|
pkgdesc="Python libraries for the RADOS block device"
|
|
depends="py3-rados"
|
|
|
|
_pkg "$(_py3_sitelib)" rbd*.so rbd-*.egg-info
|
|
}
|
|
|
|
libcephfs() {
|
|
pkgdesc="Ceph distributed file system client library"
|
|
depends=
|
|
_pkg $_libdir libcephfs.so.*
|
|
}
|
|
|
|
_py3_cephfs() {
|
|
pkgdesc="Python libraries for Ceph distributed file system"
|
|
depends="py3-rados"
|
|
|
|
_pkg "$(_py3_sitelib)" cephfs*.so cephfs-*.egg-info ceph_volume_client.py*
|
|
}
|
|
|
|
ceph_test() {
|
|
pkgdesc="Ceph benchmarks and test tools"
|
|
depends="ceph-common=$pkgver-r$pkgrel $_ceph_test_deps"
|
|
|
|
_pkg $_bindir ceph-client-debug \
|
|
ceph_bench_log \
|
|
ceph_kvstorebench \
|
|
ceph_multi_stress_watch \
|
|
ceph_erasure_code \
|
|
ceph_erasure_code_benchmark \
|
|
ceph_omapbench \
|
|
ceph_objectstore_bench \
|
|
ceph_perf_objectstore \
|
|
ceph_perf_local \
|
|
ceph_perf_msgr_client \
|
|
ceph_perf_msgr_server \
|
|
ceph_psim \
|
|
ceph_radosacl \
|
|
ceph_rgw_jsonparser \
|
|
ceph_rgw_multiparser \
|
|
ceph_scratchtool \
|
|
ceph_scratchtoolpp \
|
|
ceph_smalliobench \
|
|
ceph_smalliobenchdumb \
|
|
ceph_smalliobenchfs \
|
|
ceph_smalliobenchrbd \
|
|
ceph_test_* \
|
|
ceph_tpbench \
|
|
ceph_xattr_bench \
|
|
ceph-coverage \
|
|
ceph-monstore-tool \
|
|
ceph-osdomap-tool \
|
|
ceph-kvstore-tool \
|
|
ceph-debugpack
|
|
|
|
_pkg $_libdir ceph/ceph-monstore-update-crush.sh
|
|
}
|
|
|
|
bash_completion() {
|
|
pkgdesc="Bash completions for Ceph"
|
|
depends=
|
|
install_if="ceph=$pkgver-r$pkgrel bash-completion"
|
|
_pkg $_sysconfdir/bash_completion.d '*'
|
|
}
|
|
|
|
mgr() {
|
|
pkgdesc="Ceph Manager Daemon"
|
|
depends="ceph-base=$pkgver-r$pkgrel"
|
|
|
|
_pkg $_bindir ceph-mgr
|
|
_pkg $_datadir/ceph mgr
|
|
|
|
install -m 750 -o $_ceph_uid -g $_ceph_gid -d \
|
|
"$subpkgdir"$_localstatedir/lib/ceph/mgr
|
|
}
|
|
|
|
_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="07a3ff2ccf1a3abac652ff8c5f1611e7c628fcedcb280adc6cd49792b46fa50c7c29437dc57c2c4a6af708a6833abf8c1a386ef2142d30bd5e1f214ba7aec4f2 ceph_15.2.0.orig.tar.gz
|
|
e2858157df0b9814b32273e0ededb176342032bf873a6e03b4c354713917a98682aad00c4afd2e338e3e5b1e08abcf0bc259f684c2d9c9931176b5665252b0bf nodeenv-armv8l.patch
|
|
5692c7f3774d927417e5ddac4ef427ed6d20f92d827a71962bac9775667c7f33b0203d8d1f85e985eb0ba32b3271445e92c3acace27fcb1742e92ed129e762e8 PurgeQueue.cc.patch
|
|
aabb73e224635055c7ee52ebc6107e792430d71852e3c06a3f8af761caa8fbf2cc72ff58eee993818dffd20fbe41cbc7cc2d440f24d0f583ce91093649a77874 musl-fixes.patch
|
|
c175baa508690f0951e758033bb846ddeddd2efdfe020016a6356f40b7e6442f2e4de7975c69f05c798493e4cbc2b8ef0a631c17d7a6ae8b919c553933ccf1ad git_search_fix.patch"
|