Summary: A high-performance MySQL proxy Name: proxysql Version: 1.3.7 Release: 1%{?dist} URL: http://www.proxysql.com/ # The entire source code is GPLv3+ except deps/re2 and deps/jemalloc which is BSD # and deps/mariadb-connector-c which is LGPLv2+ License: GPLv3+ and LGPLv2+ and BSD Group: Development/Tools BuildRequires: openssl-devel BuildRequires: cmake BuildRequires: systemd BuildRequires: libconfig-devel BuildRequires: libdaemon-devel BuildRequires: sqlite-devel # Build in other architectures aside from x86 is not yet supported due to some # use of assembly code, but is on the upstream roadmap to support them. # https://github.com/sysown/proxysql/issues/977 ExcludeArch: %{arm} ExcludeArch: %{power64} ExcludeArch: s390x ExcludeArch: aarch64 Provides: bundled(jemalloc) = 4.3.1 Provides: bundled(mariadb-connector-c) = 2.3.1 Provides: bundled(re2) = 20140304 Source0: https://github.com/sysown/proxysql/archive/v%{version}.tar.gz Source1: proxysql.service Source2: proxysql.1 # The upstream code bundles 6 libraries: libconfig, libdaemon, sqlite3, re2, # mariadb-connector-c and jemalloc. # This patch de-bundles 3 of these libraries: libconfig, libdaemon and sqlite3 # The remaining libraries are not de-bundled due to different reasons (mainly # being patched, more info here: https://bugzilla.redhat.com/show_bug.cgi?id=1457929). Patch0: proxysql_debundle_libconfig_libdaemon_sqlite3.patch %description ProxySQL is a high performance, high availability, protocol aware proxy for MySQL and forks (like Percona Server and MariaDB). %prep %setup -q %patch0 -p1 %build make %{?_smp_mflags} CFLAGS="-fPIC %{optflags}" CXXFLAGS="%{optflags}" %install install -p -D -m 0755 src/proxysql -t %{buildroot}%{_bindir} install -p -D -m 0640 etc/proxysql.cnf -t %{buildroot}%{_sysconfdir} install -p -D -m 0755 tools/proxysql_galera_checker.sh -t %{buildroot}%{_datadir}/%{name}/tools install -p -D -m 0755 tools/proxysql_galera_writer.pl -t %{buildroot}%{_datadir}/%{name}/tools install -p -D -m 0644 %{SOURCE1} -t %{buildroot}%{_unitdir} install -p -D -m 0644 README.md -t %{buildroot}%{_docdir}/proxysql install -p -D -m 0644 RUNNING.md -t %{buildroot}%{_docdir}/proxysql install -p -D -m 0644 FAQ.md -t %{buildroot}%{_docdir}/proxysql install -p -D -m 0644 doc/*.md -t %{buildroot}%{_docdir}/proxysql install -p -D -m 0644 %{SOURCE2} -t %{buildroot}%{_mandir}/man1 install -d -D -m 0755 %{buildroot}%{_sharedstatedir}/proxysql %pre /usr/sbin/groupadd -r proxysql >/dev/null 2>&1 || : /usr/sbin/useradd -g proxysql -r -d /var/lib/proxysql -s /bin/false \ -c "ProxySQL" proxysql >/dev/null 2>&1 || : %post %systemd_post proxysql.service %preun %systemd_preun proxysql.service %postun %systemd_postun_with_restart proxysql.service %files %{_bindir}/* %{_unitdir}/* %{_datadir}/%{name} %{_docdir}/%{name} %{_mandir}/man1/* %license LICENSE %defattr(-,proxysql,proxysql,-) %{_sharedstatedir}/%{name} %defattr(-,root,proxysql,-) %config(noreplace) %{_sysconfdir}/%{name}.cnf %changelog * Wed Jun 14 2017 Augusto Caringi 1.3.7-1 - Updated to ProxySQL 1.3.7 - De-bundled some libraries - Added man page - Updated license field - Adopted proxysql user/group - Improvements in spec file * Tue May 16 2017 Augusto Caringi 1.3.6-1 - Initial build