Merge pull request #902 from minichate/centos5

Add build/support for CentOS 5
pull/908/head
René Cannaò 9 years ago committed by GitHub
commit 7ce83faa6c

@ -54,9 +54,14 @@ clean:
cd lib && ${MAKE} clean
cd src && ${MAKE} clean
packages: centos6.7 centos7 centos6.7-dbg centos7-dbg ubuntu12 ubuntu14 debian7 debian8 ubuntu12-dbg ubuntu14-dbg debian7-dbg debian8-dbg ubuntu16 ubuntu16-dbg fedora24 fedora24-dbg
packages: centos6.7 centos7 centos6.7-dbg centos7-dbg centos5 centos5-dbg ubuntu12 ubuntu14 debian7 debian8 ubuntu12-dbg ubuntu14-dbg debian7-dbg debian8-dbg ubuntu16 ubuntu16-dbg fedora24 fedora24-dbg
.PHONY: packages
centos5: binaries/proxysql-${CURVER}-1-centos5.x86_64.rpm
.PHONY: centos5
centos5-dbg: binaries/proxysql-${CURVER}-1-centos5.x86_64.rpm
.PHONY: centos5-dbg
centos6.7: binaries/proxysql-${CURVER}-1-centos67.x86_64.rpm
.PHONY: centos6.7
@ -107,6 +112,48 @@ debian8-dbg: binaries/proxysql_${CURVER}-dbg-debian8_amd64.deb
.PHONY: debian8-dbg
binaries/proxysql-${CURVER}-1-centos5.x86_64.rpm:
docker stop centos5_build || true
docker rm centos5_build || true
docker create --name centos5_build renecannao/proxysql:build-centos5 bash -c "while : ; do sleep 10 ; done"
docker start centos5_build
docker exec centos5_build bash -c "cd /opt; git clone -b v${CURVER} https://github.com/sysown/proxysql.git proxysql"
docker exec centos5_build bash -c "cd /opt/proxysql; ${MAKE} clean && ${MAKE} ${MAKEOPT} build_deps && ${MAKE} ${MAKEOPT}"
docker exec -it centos5_build bash -c "cd /opt/proxysql ; mkdir -p proxysql/usr/bin; mkdir -p proxysql/etc; cp src/proxysql proxysql/usr/bin/; cp -a etc proxysql ; mkdir -p proxysql/usr/share/proxysql/tools ; cp -a tools/proxysql_galera_checker.sh tools/proxysql_galera_writer.pl proxysql/usr/share/proxysql/tools ; mv proxysql proxysql-${CURVER} ; tar czvf proxysql-${CURVER}.tar.gz proxysql-${CURVER}"
docker exec -it centos5_build bash -c "mkdir -p /root/rpmbuild/{RPMS,SRPMS,BUILD,SOURCES,SPECS,tmp}"
docker cp docker/images/proxysql/centos5-build/rpmmacros centos5_build:/root/.rpmmacros
docker cp docker/images/proxysql/centos5-build/proxysql.spec centos5_build:/root/rpmbuild/SPECS/proxysql.spec
sleep 2
docker exec -it centos5_build bash -c "cp /opt/proxysql/proxysql-${CURVER}.tar.gz /root/rpmbuild/SOURCES"
docker exec -it centos5_build bash -c "cd /root/rpmbuild; rpmbuild -ba SPECS/proxysql.spec"
sleep 2
docker exec -it centos5_build bash -c "cp /root/rpmbuild/RPMS/x86_64/proxysql-${CURVER}-1.x86_64.rpm /root/rpm"
sleep 2
docker cp centos5_build:/root/rpmbuild/RPMS/x86_64/proxysql-${CURVER}-1.x86_64.rpm ./binaries/proxysql-${CURVER}-1-centos5.x86_64.rpm
docker stop centos5_build
docker rm centos5_build
binaries/proxysql-${CURVER}-1-dbg-centos5.x86_64.rpm:
docker stop centos5_build || true
docker rm centos5_build || true
docker create --name centos5_build renecannao/proxysql:build-centos5 bash -c "while : ; do sleep 10 ; done"
docker start centos5_build
docker exec centos5_build bash -c "cd /opt; git clone -b v${CURVER} https://github.com/sysown/proxysql.git proxysql"
docker exec centos5_build bash -c "cd /opt/proxysql; ${MAKE} clean && ${MAKE} ${MAKEOPT} build_deps && ${MAKE} ${MAKEOPT} debug"
docker exec -it centos5_build bash -c "cd /opt/proxysql ; mkdir -p proxysql/usr/bin; mkdir -p proxysql/etc; cp src/proxysql proxysql/usr/bin/; cp -a etc proxysql ; mkdir -p proxysql/usr/share/proxysql/tools ; cp -a tools/proxysql_galera_checker.sh tools/proxysql_galera_writer.pl proxysql/usr/share/proxysql/tools ; mv proxysql proxysql-${CURVER} ; tar czvf proxysql-${CURVER}.tar.gz proxysql-${CURVER}"
docker exec -it centos5_build bash -c "mkdir -p /root/rpmbuild/{RPMS,SRPMS,BUILD,SOURCES,SPECS,tmp}"
docker cp docker/images/proxysql/centos5-build/rpmmacros centos5_build:/root/.rpmmacros
docker cp docker/images/proxysql/centos5-build/proxysql.spec centos5_build:/root/rpmbuild/SPECS/proxysql.spec
sleep 2
docker exec -it centos5_build bash -c "cp /opt/proxysql/proxysql-${CURVER}.tar.gz /root/rpmbuild/SOURCES"
docker exec -it centos5_build bash -c "cd /root/rpmbuild; rpmbuild -ba SPECS/proxysql.spec"
sleep 2
docker exec -it centos5_build bash -c "cp /root/rpmbuild/RPMS/x86_64/proxysql-${CURVER}-1.x86_64.rpm /root/rpm"
sleep 2
docker cp centos5_build:/root/rpmbuild/RPMS/x86_64/proxysql-${CURVER}-1.x86_64.rpm ./binaries/proxysql-${CURVER}-1-dbg-centos5.x86_64.rpm
docker stop centos5_build
docker rm centos5_build
binaries/proxysql-${CURVER}-1-centos67.x86_64.rpm:
docker stop centos67_build || true
docker rm centos67_build || true

@ -0,0 +1,73 @@
# Don't try fancy stuff like debuginfo, which is useless on binary-only
# packages. Don't strip binary too
# Be sure buildpolicy set to do nothing
%define __spec_install_post %{nil}
%define debug_package %{nil}
%define __os_install_post %{_dbpath}/brp-compress
Summary: A high-performance MySQL proxy
Name: proxysql
Version: 1.3.0h
Release: 1
License: GPL+
Group: Development/Tools
SOURCE0 : %{name}-%{version}.tar.gz
URL: http://www.proxysql.com/
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%description
%{summary}
%prep
%setup -q
%build
# Empty section.
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}
# in builddir
cp -a * %{buildroot}
%clean
rm -rf %{buildroot}
%post
mkdir /var/run/%{name}
chkconfig --add %{name}
%postun
rm -rf /var/run/%{name}
chkconfig --del %{name}
%files
%defattr(-,root,root,-)
%config(noreplace) %{_sysconfdir}/%{name}.cnf
%{_bindir}/*
%{_sysconfdir}/init.d/%{name}
/usr/share/proxysql/tools/proxysql_galera_checker.sh
/usr/share/proxysql/tools/proxysql_galera_writer.pl
%changelog
* Wed Oct 19 2016 Rene Cannao <rene.cannao@gmail.com> 1.3.0
- experimental support for Prepared Statements
- enhanced scalability
* Thu Sep 29 2016 Rene Cannao <rene.cannao@gmail.com> 1.2.4
- Forth stable release of 1.2
* Tue Sep 20 2016 Rene Cannao <rene.cannao@gmail.com> 1.2.3
- Third stable release of 1.2
* Fri Sep 2 2016 Rene Cannao <rene.cannao@gmail.com> 1.2.2
- Second stable release of 1.2
* Tue Aug 2 2016 Rene Cannao <rene.cannao@gmail.com> 1.2.1
- First stable release of 1.2
* Mon Mar 14 2016 Rene Cannao <rene.cannao@gmail.com> 1.2.0
- First testing release of 1.2
* Sat Mar 11 2016 Rene Cannao <rene.cannao@gmail.com> 1.1.2
- Upgraded to release 1.1.2
* Sat Oct 31 2015 Rene Cannao <rene.cannao@gmail.com> 1.0.1
- Compiles 1.0.1
* Wed Sep 9 2015 Andrei Ismail <iandrei@gmail.com> 0.2
- Added support for automatic packaging on Ubuntu 14.04 and CentOS 7.

@ -0,0 +1,2 @@
%_topdir %(echo $HOME)/rpmbuild
%_tmppath %{_topdir}/tmp

@ -8,6 +8,12 @@
MySQL_Session *sess_stopat;
#endif
#ifdef epoll_create1
#define EPOLL_CREATE epoll_create1(0)
#else
#define EPOLL_CREATE epoll_create(1)
#endif
#define PROXYSQL_LISTEN_LEN 1024
#define MIN_THREADS_FOR_MAINTENANCE 8
@ -1930,7 +1936,7 @@ void MySQL_Thread::run() {
if (idle_maintenance_thread) {
// we check if it is the first time we are called
if (efd==-1) {
efd = epoll_create1(0);
efd = EPOLL_CREATE;
int fd=pipefd[0];
struct epoll_event event;
memset(&event,0,sizeof(event)); // let's make valgrind happy

Loading…
Cancel
Save