Merge branch '1.0'
This commit is contained in:
171
.travis.yml
171
.travis.yml
@ -5,6 +5,11 @@
|
||||
dist: trusty
|
||||
sudo: required
|
||||
|
||||
services:
|
||||
- docker
|
||||
- mysql
|
||||
- postgresql
|
||||
|
||||
language: c
|
||||
|
||||
os:
|
||||
@ -15,8 +20,76 @@ compiler:
|
||||
- gcc
|
||||
- clang
|
||||
|
||||
env:
|
||||
matrix:
|
||||
- TARGET=distcheck
|
||||
- TARGET=test
|
||||
- TARGET=coverage
|
||||
- OS=el DIST=6
|
||||
- OS=el DIST=7
|
||||
- OS=fedora DIST=24
|
||||
- OS=fedora DIST=25
|
||||
- OS=ubuntu DIST=precise
|
||||
- OS=ubuntu DIST=trusty
|
||||
- OS=ubuntu DIST=xenial
|
||||
- OS=ubuntu DIST=yakkety
|
||||
- OS=debian DIST=wheezy
|
||||
- OS=debian DIST=jessie
|
||||
|
||||
matrix:
|
||||
exclude:
|
||||
- env: OS=el DIST=6
|
||||
compiler: clang
|
||||
- env: OS=el DIST=7
|
||||
compiler: clang
|
||||
- env: OS=fedora DIST=24
|
||||
compiler: clang
|
||||
- env: OS=fedora DIST=25
|
||||
compiler: clang
|
||||
- env: OS=ubuntu DIST=precise
|
||||
compiler: clang
|
||||
- env: OS=ubuntu DIST=trusty
|
||||
compiler: clang
|
||||
- env: OS=ubuntu DIST=xenial
|
||||
compiler: clang
|
||||
- env: OS=ubuntu DIST=yakkety
|
||||
compiler: clang
|
||||
- env: OS=debian DIST=wheezy
|
||||
compiler: clang
|
||||
- env: OS=debian DIST=jessie
|
||||
compiler: clang
|
||||
- env: OS=debian DIST=stretch
|
||||
compiler: clang
|
||||
- env: OS=el DIST=6
|
||||
os: osx
|
||||
- env: OS=el DIST=7
|
||||
os: osx
|
||||
- env: OS=fedora DIST=24
|
||||
os: osx
|
||||
- env: OS=fedora DIST=25
|
||||
os: osx
|
||||
- env: OS=ubuntu DIST=precise
|
||||
os: osx
|
||||
- env: OS=ubuntu DIST=trusty
|
||||
os: osx
|
||||
- env: OS=ubuntu DIST=xenial
|
||||
os: osx
|
||||
- env: OS=ubuntu DIST=yakkety
|
||||
os: osx
|
||||
- env: OS=debian DIST=wheezy
|
||||
os: osx
|
||||
- env: OS=debian DIST=jessie
|
||||
os: osx
|
||||
- env: OS=debian DIST=stretch
|
||||
os: osx
|
||||
- env: TARGET=distcheck
|
||||
compiler: clang
|
||||
- env: TARGET=distcheck
|
||||
os: osx
|
||||
- env: TARGET=coverage
|
||||
os: osx
|
||||
- env: TARGET=coverage
|
||||
compiler: clang
|
||||
- os: osx
|
||||
compiler: gcc
|
||||
|
||||
@ -28,41 +101,34 @@ addons:
|
||||
- libaio-dev
|
||||
- clang-3.6
|
||||
|
||||
services:
|
||||
- mysql
|
||||
- postgresql
|
||||
|
||||
before_install:
|
||||
- >
|
||||
case "${TRAVIS_OS_NAME:-linux}" in
|
||||
osx)
|
||||
# Workaround for https://github.com/Homebrew/legacy-homebrew/issues/43874
|
||||
# brew uninstall libtool
|
||||
# brew update --quiet
|
||||
# brew install libtool mysql
|
||||
brew install mysql
|
||||
if [ "x$TARGET" = "xtest" ]; then
|
||||
case "${TRAVIS_OS_NAME:-linux}" in
|
||||
osx)
|
||||
brew install mysql
|
||||
|
||||
# OS X requires servers to be started explicitly
|
||||
brew services start mysql
|
||||
# OS X requires servers to be started explicitly
|
||||
brew services start mysql
|
||||
|
||||
# Avoid PostgreSQL upgrade woes, just reinstall the database
|
||||
brew uninstall --ignore-dependencies postgresql
|
||||
rm -rf /usr/local/var/postgres
|
||||
brew install postgresql
|
||||
# Avoid PostgreSQL upgrade woes, just reinstall the database
|
||||
brew uninstall --ignore-dependencies postgresql
|
||||
rm -rf /usr/local/var/postgres
|
||||
brew install postgresql
|
||||
|
||||
echo "Starting PostgreSQL"
|
||||
pg_ctl -wD /usr/local/var/postgres start
|
||||
echo "Creating user postgres"
|
||||
createuser -s postgres
|
||||
;;
|
||||
linux)
|
||||
export ASAN_OPTIONS="detect_leaks=0"
|
||||
if [ "${CC}" = "clang" ]
|
||||
then
|
||||
CC=clang-3.6
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
echo "Starting PostgreSQL"
|
||||
pg_ctl -wD /usr/local/var/postgres start
|
||||
echo "Creating user postgres"
|
||||
createuser -s postgres
|
||||
;;
|
||||
linux)
|
||||
export ASAN_OPTIONS="detect_leaks=0"
|
||||
if [ "${CC}" = "clang" ]; then
|
||||
CC=clang-3.6
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
install:
|
||||
- pip install --user urllib3[secure] cpp-coveralls
|
||||
@ -79,13 +145,48 @@ before_script:
|
||||
- psql -U postgres -c 'CREATE DATABASE sbtest'
|
||||
|
||||
script:
|
||||
- ./autogen.sh && ./configure --enable-coverage --enable-asan --enable-msan --with-mysql --with-pgsql
|
||||
- make
|
||||
- make distcheck
|
||||
- SBTEST_MYSQL_ARGS="--mysql-user=root" SBTEST_PGSQL_ARGS="--pgsql-user=postgres" make test
|
||||
- >
|
||||
if [ -n "$TARGET" ]; then
|
||||
case "$TARGET" in
|
||||
test)
|
||||
./autogen.sh && ./configure --with-mysql --with-pgsql
|
||||
make
|
||||
SBTEST_MYSQL_ARGS="--mysql-user=root" SBTEST_PGSQL_ARGS="--pgsql-user=postgres" make test
|
||||
;;
|
||||
distcheck)
|
||||
./autogen.sh && ./configure --without-mysql
|
||||
make
|
||||
make distcheck
|
||||
;;
|
||||
coverage)
|
||||
./autogen.sh && ./configure --enable-coverage --enable-asan --enable-msan --with-mysql --with-pgsql
|
||||
make -j2
|
||||
SBTEST_MYSQL_ARGS="--mysql-user=root" SBTEST_PGSQL_ARGS="--pgsql-user=postgres" make test
|
||||
;;
|
||||
esac
|
||||
else
|
||||
git clone https://github.com/akopytov/packpack.git packpack
|
||||
packpack/packpack
|
||||
fi
|
||||
|
||||
deploy:
|
||||
# Deploy packages to PackageCloud
|
||||
- provider: packagecloud
|
||||
username: "${PACKAGECLOUD_USER}"
|
||||
repository: "${PACKAGECLOUD_REPO}"
|
||||
token: "${PACKAGECLOUD_TOKEN}"
|
||||
dist: "${OS}/${DIST}"
|
||||
package_glob: build/*.{rpm,deb,dsc}
|
||||
skip_cleanup: true
|
||||
on:
|
||||
all_branches: true
|
||||
condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
|
||||
|
||||
after_success:
|
||||
- coveralls --exclude third_party/ --gcov-options '\-lp'
|
||||
- >
|
||||
if [ "x$TARGET" = "xcoverage" ]; then
|
||||
coveralls --exclude third_party/ --gcov-options '\-lp'
|
||||
fi
|
||||
|
||||
# Local variables:
|
||||
# mode: yaml
|
||||
|
||||
@ -52,9 +52,9 @@ build and use sysbench 0.5 natively for Windows.
|
||||
|
||||
### RedHat/CentOS
|
||||
``` shell
|
||||
yum -y install make automake libtool pkg-config libaio-devel vim-common
|
||||
yum -y install make automake libtool pkgconfig libaio-devel vim-common
|
||||
# For MySQL support
|
||||
yum -y install mysql-devel
|
||||
yum -y install mariadb-devel
|
||||
# For PostgreSQL support
|
||||
yum -y install postgresql-devel
|
||||
```
|
||||
|
||||
4
debian/rules
vendored
4
debian/rules
vendored
@ -1,7 +1,7 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
clean:
|
||||
make clean
|
||||
%:
|
||||
dh $@
|
||||
|
||||
override_dh_auto_configure:
|
||||
dh_testdir
|
||||
|
||||
166
rpm/sysbench.spec
Normal file
166
rpm/sysbench.spec
Normal file
@ -0,0 +1,166 @@
|
||||
Summary: Scriptable database and system performance benchmark
|
||||
Name: sysbench
|
||||
# Version will be replaced by packpack
|
||||
Version: x.y.z
|
||||
Release: 1%{?dist}
|
||||
License: GPLv2+
|
||||
Group: Applications/System
|
||||
Source0: https://github.com/akopytov/%{name}/archive/%{version}/%{name}-%{version}.tar.gz
|
||||
URL: https://github.com/akopytov/sysbench/
|
||||
|
||||
%if 0%{?el6}
|
||||
BuildRequires: mysql-devel
|
||||
%else
|
||||
BuildRequires: mariadb-devel
|
||||
%endif
|
||||
BuildRequires: postgresql-devel
|
||||
BuildRequires: make
|
||||
BuildRequires: automake
|
||||
BuildRequires: libtool
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: libaio-devel
|
||||
BuildRequires: vim-common
|
||||
# Use bundled cram for tests
|
||||
BuildRequires: python
|
||||
|
||||
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
|
||||
|
||||
|
||||
%description
|
||||
sysbench is a modular, cross-platform and multi-threaded benchmark
|
||||
tool for evaluating OS parameters that are important for a system
|
||||
running a database under intensive load.
|
||||
|
||||
The idea of this benchmark suite is to quickly get an impression about
|
||||
system performance without setting up complex database benchmarks or
|
||||
even without installing a database at all. Current features allow to
|
||||
test the following system parameters:
|
||||
- file I/O performance
|
||||
- scheduler performance
|
||||
- memory allocation and transfer speed
|
||||
- POSIX threads implementation performance
|
||||
- database server performance (OLTP benchmark)
|
||||
|
||||
Primarily written for MySQL server benchmarking, sysbench will be
|
||||
further extended to support multiple database backends, distributed
|
||||
benchmarks and third-party plug-in modules.
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%build
|
||||
export CFLAGS="%{optflags}"
|
||||
autoreconf -vif
|
||||
%configure --with-mysql \
|
||||
--with-pgsql \
|
||||
|
||||
%if 0%{?el6}
|
||||
make -j2
|
||||
%else
|
||||
%make_build
|
||||
%endif
|
||||
|
||||
%install
|
||||
%make_install
|
||||
rm -f %{buildroot}%{_docdir}/sysbench/manual.html
|
||||
|
||||
%check
|
||||
make test
|
||||
|
||||
%files
|
||||
%doc ChangeLog COPYING README.md
|
||||
%if 0%{?el6}
|
||||
%else
|
||||
%license COPYING
|
||||
%endif
|
||||
%{_bindir}/*
|
||||
%{_datadir}/%{name}
|
||||
|
||||
|
||||
%changelog
|
||||
* Thu Apr 6 2017 Alexey Kopytov <akopytov@gmail.com> - 1.0.5-1
|
||||
- Reuse downstream Fedora spec with modifications (prefer bundled libraries)
|
||||
|
||||
* Mon Mar 13 2017 Xavier Bachelot <xavier@bachelot.org> 1.0.4-2
|
||||
- Don't build aarch64 on el7.
|
||||
|
||||
* Mon Mar 13 2017 Xavier Bachelot <xavier@bachelot.org> 1.0.4-1
|
||||
- Fix build for i686.
|
||||
- Drop bundled cram.
|
||||
|
||||
* Wed Mar 08 2017 Xavier Bachelot <xavier@bachelot.org> 1.0.3-1
|
||||
- Update to 1.0.3 (RHBZ#1424670).
|
||||
- Restrict arches to the same ones as luajit.
|
||||
- Add --with-gcc-arch=native to configure for %%{arm} and aarch64.
|
||||
- Ignore test suite results for aarch64, it segfaults in koji.
|
||||
|
||||
* Sat Feb 25 2017 Xavier Bachelot <xavier@bachelot.org> 1.0.2-2
|
||||
- Run test suite.
|
||||
|
||||
* Sat Feb 25 2017 Xavier Bachelot <xavier@bachelot.org> 1.0.2-1
|
||||
- Update to 1.0.2 (RHBZ#1424670).
|
||||
|
||||
* Sun Feb 12 2017 Honza Horak <hhorak@redhat.com> - 1.0.0-1
|
||||
- Update to the first proper release 1.0.0
|
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.12-15
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.12-14
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.12-13
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Thu Sep 04 2014 Xavier Bachelot <xavier@bachelot.org> 0.4.12-12
|
||||
- Modernize specfile.
|
||||
|
||||
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.12-11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.12-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.12-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.12-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.12-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.12-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Tue Sep 06 2011 Xavier Bachelot <xavier@bachelot.org> 0.4.12-5
|
||||
- Add BR: libaio-devel (rhbz#735882).
|
||||
|
||||
* Wed Mar 23 2011 Dan Horák <dan@danny.cz> - 0.4.12-4
|
||||
- rebuilt for mysql 5.5.10 (soname bump in libmysqlclient)
|
||||
|
||||
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.12-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Fri Dec 24 2010 Xavier Bachelot <xavier@bachelot.org> 0.4.12-2
|
||||
- Rebuild against new mysql.
|
||||
|
||||
* Wed Jul 07 2010 Xavier Bachelot <xavier@bachelot.org> 0.4.12-1
|
||||
- Update to 0.4.12.
|
||||
|
||||
* Fri Aug 21 2009 Tomas Mraz <tmraz@redhat.com> - 0.4.10-5
|
||||
- rebuilt with new openssl
|
||||
|
||||
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.10-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
* Wed Mar 18 2009 Xavier Bachelot <xavier@bachelot.org> 0.4.10-3
|
||||
- License is GPLv2+, not GPLv2.
|
||||
|
||||
* Sat Mar 14 2009 Xavier Bachelot <xavier@bachelot.org> 0.4.10-2
|
||||
- Make postgres support optional, the version in rhel4 is too old.
|
||||
- Drop TODO and manual.html from %%doc, they are empty.
|
||||
|
||||
* Thu Mar 05 2009 Xavier Bachelot <xavier@bachelot.org> 0.4.10-1
|
||||
- Adapt original spec file taken from PLD.
|
||||
Reference in New Issue
Block a user