vitastor/rpm/build-tarball.sh

28 lines
918 B
Bash
Raw Normal View History

2020-11-07 01:51:14 +03:00
#!/bin/bash
2021-12-01 23:41:46 +03:00
# Vitastor depends on QEMU and/or FIO headers, but QEMU and FIO don't have -devel packages
2020-11-07 01:51:14 +03:00
# So we have to copy their headers into the source tarball
set -e
VITASTOR=$(dirname $0)
VITASTOR=$(realpath "$VITASTOR/..")
2023-04-28 00:40:50 +03:00
EL=$(rpm --eval '%dist')
if [ "$EL" = ".el8" ]; then
2020-11-08 01:53:17 +03:00
# CentOS 8
. /opt/rh/gcc-toolset-9/enable
2023-04-28 00:40:50 +03:00
elif [ "$EL" = ".el7" ]; then
2020-11-08 01:53:17 +03:00
# CentOS 7
. /opt/rh/devtoolset-9/enable
fi
2020-11-07 01:51:14 +03:00
cd ~/rpmbuild/SPECS
rpmbuild -bp fio.spec
cd $VITASTOR
ln -s ~/rpmbuild/BUILD/fio*/ fio
sh copy-fio-includes.sh
rm fio
mv fio-copy fio
2020-11-10 23:40:56 +03:00
FIO=`rpm -qi fio | perl -e 'while(<>) { /^Epoch[\s:]+(\S+)/ && print "$1:"; /^Version[\s:]+(\S+)/ && print $1; /^Release[\s:]+(\S+)/ && print "-$1"; }'`
2020-11-08 01:53:17 +03:00
perl -i -pe 's/(Requires:\s*fio)([^\n]+)?/$1 = '$FIO'/' $VITASTOR/rpm/vitastor-el$EL.spec
Release 0.8.7 This release includes a bunch of important bugfixes for erasure-coded setups with disabled immediate_commit. After these fixes, "test_heal" OSD killing test now passes fine with EC: - Fix cluster write stalls with "Error while doing flush on OSD xx: -16 (Device or resource busy)" in OSD logs possible in EC setups with disabled immediate_commit by selectively syncing nonsynced objects on STABILIZE/ROLLBACK (https://github.com/vitalif/vitastor/issues/51) - Fix other EC + disabled immediate_commit problems: - Fix "opcode=5 retval=-2" errors happening on SYNC retries - Fix non-working "pagination" during PG dirty object flushing - Fix write operations not continued correctly after dirty object flushing - Fix incorrect parity read-modify-write calculation when writing into a lost chunk - Fix OSDs losing left_on_dead PG state of non-clean PGs and thus not removing junk data in the cluster - Fix a small memory leak caused by bad indexing of EC recovery matrices - Fix a rare use-after-free in cluster_client caused by a reenterability issue - Fix vitastor-cli create command syntax in the CSI driver - Allow to start OSDs without local store for tests - Fix memory allocation error in disk_tool_meta for non-standard metadata block sizes - Fix delete operations received before loading pool metadata crashing OSDs with "null pointer exception" - Improve "theoretical performance" Russian documentation New features: - Implement online configuration update for some parameters. Documentation is coming soon :)
2023-04-11 02:11:57 +03:00
tar --transform 's#^#vitastor-0.8.7/#' --exclude 'rpm/*.rpm' -czf $VITASTOR/../vitastor-0.8.7$(rpm --eval '%dist').tar.gz *