%global _enable_debug_package 0
%global debug_package %{nil}
%global __os_install_post /usr/lib/rpm/brp-compress %{nil}
Name: Atlas
Version: 2.2.1
Release: 2%{?dist}
Summary: A Proxy for the MySQL Client/Server protocol
License: GPL
URL: https://github.com/Qihoo360/Atlas
Source0: %{name}-%{version}.tar.gz
Source1: mysql-proxy.cnf
Source2: mysql-proxy.init
BuildRequires: flex,libtool
BuildRequires: glib2-devel >= 2.32.0
BuildRequires: jemalloc-devel
BuildRequires: libevent-devel
BuildRequires: lua-devel >= 5.1
BuildRequires: mysql-devel
BuildRequires: openssl-devel
BuildRequires: pkgconfig
Requires: openssl
Requires: jemalloc
Requires: mysql
Requires: lua >= 5.1
Requires: glib2
Conflicts: mysql-proxy
ExcludeArch: x86
%description
Atlas is a MySQL protocol-based database middleware project developed
and maintained by infrastructure team of the Web platform Department
in QIHU 360 SOFTWARE CO. LIMITED(NYSE:QIHU). It fixed lots of bugs and
added lot of new functions on the basis of MySQL-Proxy 0.8.2.
Currently the project has been widely applied in QIHU,
many MySQL business has connected to the Atlas platform.
The number of read and write requests forwarded by Atlas has reached billions.
%package devel
Summary: Development files for Atlas
Requires: Atlas = %{version}-%{release}
%description devel
Development files for Atlas
%prep
%setup -q
%build
%configure \
--with-lua \
CFLAGS="$CFLAGS -DHAVE_LUA_H" \
LDFLAGS="$LDFLAGS -lm -ldl -lcrypto -ljemalloc"
make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
%{__make} DESTDIR=$RPM_BUILD_ROOT install
%{__mkdir} -p $RPM_BUILD_ROOT%{_localstatedir}/log/mysql-proxy
%{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/mysql-proxy
%{__mkdir} -p $RPM_BUILD_ROOT%{_initrddir}
%{__install} -m 644 -p %{SOURCE1} \
$RPM_BUILD_ROOT%{_sysconfdir}/mysql-proxy/mysql-proxy.cnf
%{__install} -m755 %{SOURCE2} \
$RPM_BUILD_ROOT%{_initrddir}/mysql-proxy
%clean
%{__rm} -rf $RPM_BUILD_ROOT
make -s clean
%pre
getent group mysql >/dev/null || groupadd -g 27 -o -r mysql
getent passwd mysql >/dev/null || \
useradd -u 27 -M -N -o -r -g mysql -s /bin/bash \
-d /var/lib/mysql mysql
exit 0
%post
ldconfig
chkconfig --add mysql-proxy || :
#fix lib path
%{__ln_s} -f %{_libdir}/mysql-proxy /usr/lib/mysql-proxy || :
%postun
ldconfig
chkconfig --del mysql-proxy || :
unlink /usr/lib/mysql-proxy || :
%files
%defattr(-,root,root,-)
%{_bindir}/mysql-proxy
%{_bindir}/encrypt
%{_bindir}/mysql-binlog-dump
%{_bindir}/mysql-myisam-dump
%exclude %{_bindir}/mysql-proxyd
%config(noreplace) %{_sysconfdir}/mysql-proxy/mysql-proxy.cnf
%{_initrddir}/mysql-proxy
%dir %attr(0755,mysql,mysql) %{_localstatedir}/log/mysql-proxy
%dir %{_libdir}/mysql-proxy
%{_libdir}/mysql-proxy/lua/*
%{_libdir}/mysql-proxy/plugins/*
%{_libdir}/libmysql-*
%{_libdir}/libsql-*
%doc examples/
%files devel
%defattr(-,root,root,-)
%{_includedir}/*.h
%{_libdir}/pkgconfig/mysql-chassis.pc
%{_libdir}/pkgconfig/mysql-proxy.pc
%changelog
* Thu Dec 3 2015 Purple Grape <purplegrape4@gmail.com> - 2.2.1-2
- fix lib path
* Thu Nov 26 2015 Purple Grape <purplegrape4@gmail.com> - 2.2.1-1
- fresh build