vitastor/rpm/build-tarball.sh

28 lines
918 B
Bash
Raw Permalink 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 1.1.0 New features: - Implement [client writeback cache](docs/config/client.en.md#client_enable_writeback) - Add the third I/O mode: [O_DIRECT|O_SYNC](docs/config/osd.en.md#data_io) (good for Optane) - Reduce load on etcd by splitting OSD lease and statistics reporting intervals: [etcd_stats_interval](docs/config/osd.en.md#etcd_stats_interval) (default 30 sec) - Make MON automatically filter OSDs by layout (block_size/immediate_commit/bitmap_granularity) to prevent "refusing to start PGs of this pool" errors on misconfiguration - Support running fio benchmarks on systems without io_uring - Make QEMU driver compatible with QEMU 8.1 - Document usage of [vhost-user-blk](docs/usage/qemu.en.md#vhost-user-blk) Bug fixes: - Fix resizing disks in QEMU driver (for example, in Proxmox) - Fix "unexpected result" in Proxmox driver by making CLI flush output on exit - Remove unneeded block_size mismatch warnings on pools without matching PGs - Fix possible segfault in vitastor-cli ls -l (usually with deleted pools) - Fix QEMU driver compatibility with systems without io_uring - Fix monitor eating 100% CPU when etcd is down (caused by infinite retries) - Fix potential incorrect write processing with snapshots (not caught in tests but could probably lead to client hangs) - Fix buffer insertion in cluster_client (not caught in tests but could probably lead to incorrect writes in rare cases) - Fix rare OSD crash during sync operation processing - Fix a reenterability issue in cluster_client not reproducible in QEMU/fio, but reproducible with the currently developed K/V database implementation - Fix deletion of the first modified object - OSDs could crash if you modified the same object a lot of times, then deleted it, and then modified it again - Fix the fio_sec_osd test tool
2023-10-27 14:24:48 +03:00
tar --transform 's#^#vitastor-1.1.0/#' --exclude 'rpm/*.rpm' -czf $VITASTOR/../vitastor-1.1.0$(rpm --eval '%dist').tar.gz *