mirror of https://github.com/sysown/proxysql
Merge pull request #2290 from acampoh/v2.0.7-fix-galera-support
V2.0.8 fix galera supportval214-changing_charset
commit
f3d15f4897
@ -0,0 +1,48 @@
|
||||
#!/bin/bash
|
||||
set -eu
|
||||
|
||||
echo "==> Build environment:"
|
||||
env
|
||||
|
||||
echo "==> Cleaning"
|
||||
# Delete package if exists
|
||||
rm -f /opt/proxysql/binaries/proxysql-${CURVER}-1-${PKG_RELEASE}.x86_64.rpm || true
|
||||
# Cleanup relic directories from a previously failed build
|
||||
rm -fr /root/.pki /root/rpmbuild/{BUILDROOT,RPMS,SRPMS,BUILD,SOURCES,tmp} /opt/proxysql/proxysql /opt/proxysql/proxysql-${CURVER} || true
|
||||
|
||||
# Clean and build dependancies and source
|
||||
echo "==> Building"
|
||||
cd /opt/proxysql
|
||||
if [[ -z ${PROXYSQL_BUILD_TYPE:-} ]] ; then
|
||||
deps_target="build_deps"
|
||||
build_target=""
|
||||
else
|
||||
deps_target="build_deps_$PROXYSQL_BUILD_TYPE"
|
||||
build_target="$PROXYSQL_BUILD_TYPE"
|
||||
fi
|
||||
${MAKE} cleanbuild
|
||||
${MAKE} ${MAKEOPT} "${deps_target}"
|
||||
|
||||
if [[ -z ${build_target} ]] ; then
|
||||
${MAKE} ${MAKEOPT}
|
||||
else
|
||||
${MAKE} ${MAKEOPT} "${build_target}"
|
||||
fi
|
||||
|
||||
# Prepare package files and build RPM
|
||||
echo "==> Packaging"
|
||||
mkdir -p proxysql/usr/bin proxysql/etc
|
||||
cp src/proxysql proxysql/usr/bin/
|
||||
cp -a systemd proxysql/etc/
|
||||
cp -a etc/proxysql.cnf proxysql/etc/
|
||||
cp -a etc/logrotate.d proxysql/etc/
|
||||
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}
|
||||
mkdir -p /root/rpmbuild/{RPMS,SRPMS,BUILD,SOURCES,SPECS,tmp}
|
||||
mv "/opt/proxysql/proxysql-${CURVER}.tar.gz" /root/rpmbuild/SOURCES
|
||||
cd /root/rpmbuild && rpmbuild -ba SPECS/proxysql.spec --define "version ${CURVER}"
|
||||
mv "/root/rpmbuild/RPMS/x86_64/proxysql-${CURVER}-1.x86_64.rpm" "/opt/proxysql/binaries/proxysql-${CURVER}-1-${PKG_RELEASE}.x86_64.rpm"
|
||||
# Cleanup current build
|
||||
rm -fr /root/.pki /root/rpmbuild/{BUILDROOT,RPMS,SRPMS,BUILD,SOURCES,tmp} /opt/proxysql/proxysql "/opt/proxysql/proxysql-${CURVER}"
|
||||
@ -0,0 +1,2 @@
|
||||
%_topdir %(echo $HOME)/rpmbuild
|
||||
%_tmppath %{_topdir}/tmp
|
||||
@ -0,0 +1,90 @@
|
||||
%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: %{version}
|
||||
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
|
||||
|
||||
%pre
|
||||
# Cleanup artifacts
|
||||
if [ -f /var/lib/%{name}/PROXYSQL_UPGRADE ]; then
|
||||
rm -fr /var/lib/%{name}/PROXYSQL_UPGRADE
|
||||
fi
|
||||
|
||||
%build
|
||||
# Packages are pre-built, nothing to do
|
||||
|
||||
%install
|
||||
# Clean buildroot and install files
|
||||
/bin/rm -rf %{buildroot}
|
||||
/bin/mkdir -p %{buildroot}
|
||||
/bin/cp -a * %{buildroot}
|
||||
|
||||
%clean
|
||||
/bin/rm -rf %{buildroot}
|
||||
|
||||
%post
|
||||
# Create relevant user, directories and configuration files
|
||||
if [ ! -d /var/run/%{name} ]; then /bin/mkdir /var/run/%{name} ; fi
|
||||
if [ ! -d /var/lib/%{name} ]; then /bin/mkdir /var/lib/%{name} ; fi
|
||||
if ! id -u %{name} > /dev/null 2>&1; then useradd -r -U -s /bin/false -d /var/lib/%{name} -c "ProxySQL Server" %{name}; fi
|
||||
/bin/chown -R %{name}: /var/lib/%{name} /var/run/%{name}
|
||||
/bin/chown root:%{name} /etc/%{name}.cnf
|
||||
/bin/chmod 640 /etc/%{name}.cnf
|
||||
# Configure systemd appropriately.
|
||||
/bin/systemctl daemon-reload
|
||||
/bin/systemctl enable %{name}.service
|
||||
# Notify that a package update is in progress in order to start service.
|
||||
if [ $1 -eq 2 ]; then /bin/touch /var/lib/%{name}/PROXYSQL_UPGRADE ; fi
|
||||
|
||||
%preun
|
||||
# When uninstalling always try stop the service, ignore failures
|
||||
/bin/systemctl stop %{name} || true
|
||||
|
||||
%postun
|
||||
if [ $1 -eq 0 ]; then
|
||||
# This is a pure uninstall, systemd unit file removed
|
||||
# only daemon-reload is needed.
|
||||
/bin/systemctl daemon-reload
|
||||
else
|
||||
# This is an upgrade, ProxySQL should be started. This
|
||||
# logic works for packages newer than 2.0.7 and ensures
|
||||
# a faster restart time.
|
||||
/bin/systemctl start %{name}.service
|
||||
/bin/rm -fr /var/lib/%{name}/PROXYSQL_UPGRADE
|
||||
fi
|
||||
|
||||
%posttrans
|
||||
if [ -f /var/lib/%{name}/PROXYSQL_UPGRADE ]; then
|
||||
# This is a safeguard to start the service after an update
|
||||
# which supports legacy "preun" / "postun" logic and will
|
||||
# only execute for packages before 2.0.7.
|
||||
/bin/systemctl start %{name}.service
|
||||
/bin/rm -fr /var/lib/%{name}/PROXYSQL_UPGRADE
|
||||
fi
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%config(noreplace) %{_sysconfdir}/%{name}.cnf
|
||||
%attr(640,root,%{name}) %{_sysconfdir}/%{name}.cnf
|
||||
%config(noreplace) %attr(640,root,%{name}) %{_sysconfdir}/logrotate.d/%{name}
|
||||
%{_bindir}/*
|
||||
%{_sysconfdir}/systemd/system/%{name}.service
|
||||
/usr/share/proxysql/tools/proxysql_galera_checker.sh
|
||||
/usr/share/proxysql/tools/proxysql_galera_writer.pl
|
||||
|
||||
%changelog
|
||||
Loading…
Reference in new issue