From 481eb4ec75f8a8fd1a5b30f2d462791b44053c0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Canna=C3=B2?= Date: Mon, 25 Apr 2016 00:07:10 +0000 Subject: [PATCH] Compile binaries for CentOS 7 --- Makefile | 29 ++++++++++----- .../images/proxysql/centos7-build/Dockerfile | 37 ------------------- .../proxysql/centos7-build/proxysql.spec | 2 + 3 files changed, 22 insertions(+), 46 deletions(-) delete mode 100644 docker/images/proxysql/centos7-build/Dockerfile diff --git a/Makefile b/Makefile index 30f168ca3..149e25f64 100644 --- a/Makefile +++ b/Makefile @@ -54,7 +54,7 @@ packages: centos6.7 centos7 ubuntu12 ubuntu14 debian7 debian8 ubuntu12-dbg ubunt centos6.7: binaries/proxysql-${CURVER}-1-centos67.x86_64.rpm .PHONY: centos6.7 -centos7: binaries/proxysql-${CURVER}-1.x86_64.rpm +centos7: binaries/proxysql-${CURVER}-1-centos7.x86_64.rpm .PHONY: centos ubuntu12: binaries/proxysql_${CURVER}-ubuntu12_amd64.deb @@ -81,14 +81,6 @@ debian7-dbg: binaries/proxysql_${CURVER}-dbg-debian7_amd64.deb debian8-dbg: binaries/proxysql_${CURVER}-dbg-debian8_amd64.deb .PHONY: debian8-dbg -binaries/proxysql-v${CURVER}-1.x86_64.rpm: - # Create CentOS 7 rpm file by creating docker image, running a container and extracting the RPM from the temp container - docker build -t centos7_proxysql --no-cache=true ./docker/images/proxysql/centos7-build - docker run -i --name=centos7_build centos7_proxysql bash & - sleep 5 - docker cp centos7_build:/root/rpmbuild/RPMS/x86_64/proxysql-${CURVER}-1.x86_64.rpm ./binaries -# docker kill centos7_build - docker rm centos7_build binaries/proxysql-${CURVER}-1-centos67.x86_64.rpm: docker stop centos67_build || true @@ -108,6 +100,25 @@ binaries/proxysql-${CURVER}-1-centos67.x86_64.rpm: docker stop centos67_build docker rm centos67_build +binaries/proxysql-${CURVER}-1-centos7.x86_64.rpm: + docker stop centos7_build || true + docker rm centos7_build || true + docker create --name centos7_build renecannao/proxysql:build-centos7 bash -c "while : ; do sleep 10 ; done" + docker start centos7_build + docker exec centos7_build bash -c "cd /opt; git clone -b v${CURVER} https://github.com/sysown/proxysql.git proxysql" + docker exec centos7_build bash -c "cd /opt/proxysql; ${MAKE} clean && ${MAKE} -j 4 build_deps && ${MAKE}" + docker exec -it centos7_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 ; mv proxysql proxysql-${CURVER} ; tar czvf proxysql-${CURVER}.tar.gz proxysql-${CURVER}" + docker exec -it centos7_build bash -c "mkdir -p /root/rpmbuild/{RPMS,SRPMS,BUILD,SOURCES,SPECS,tmp}" + docker cp docker/images/proxysql/centos7-build/rpmmacros centos7_build:/root/.rpmmacros + docker cp docker/images/proxysql/centos7-build/proxysql.spec centos7_build:/root/rpmbuild/SPECS/proxysql.spec + docker exec -it centos7_build bash -c "cp /opt/proxysql/proxysql-${CURVER}.tar.gz /root/rpmbuild/SOURCES" + docker exec -it centos7_build bash -c "cd /root/rpmbuild; rpmbuild -ba SPECS/proxysql.spec" + docker exec -it centos7_build bash -c "cp /root/rpmbuild/RPMS/x86_64/proxysql-${CURVER}-1.x86_64.rpm /root/rpm" + docker cp centos7_build:/root/rpmbuild/RPMS/x86_64/proxysql-${CURVER}-1.x86_64.rpm ./binaries/proxysql-${CURVER}-1-centos7.x86_64.rpm + docker stop centos7_build + docker rm centos7_build + + binaries/proxysql_${CURVER}-ubuntu12_amd64.deb: docker stop ubuntu12_build || true docker rm ubuntu12_build || true diff --git a/docker/images/proxysql/centos7-build/Dockerfile b/docker/images/proxysql/centos7-build/Dockerfile deleted file mode 100644 index 852dfd5e7..000000000 --- a/docker/images/proxysql/centos7-build/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -FROM centos:centos7 -MAINTAINER Andrei Ismail - -LABEL vendor=proxysql\ - com.proxysql.type=proxysql\ - com.proxysql.os=centos7\ - com.proxysql.interactive=false\ - com.proxysql.config=simple\ - com.proxysql.purpose=packaging - -RUN yum install -y automake -RUN yum install -y bzip2 -RUN yum install -y cmake -RUN yum install -y make -RUN yum install -y gcc-c++ -RUN yum install -y gcc -RUN yum install -y git -RUN yum install -y openssl -RUN yum install -y openssl-devel -RUN yum install -y patch - - -RUN cd /opt; git clone https://github.com/sysown/proxysql.git proxysql -RUN cd /opt/proxysql; make clean && make -j 5 - -RUN cd /opt/proxysql ; mkdir -p proxysql/usr/bin; mkdir -p proxysql/etc; cp src/proxysql proxysql/usr/bin/; cp -a etc proxysql ; mv proxysql proxysql-1.0.1 ; tar czvf proxysql-1.0.1.tar.gz proxysql-1.0.1 - -RUN mkdir -p /root/rpmbuild/{RPMS,SRPMS,BUILD,SOURCES,SPECS,tmp} - -ADD ./rpmmacros /root/.rpmmacros -ADD ./proxysql.spec /root/rpmbuild/SPECS/proxysql.spec - -RUN cp /opt/proxysql/proxysql-1.0.1.tar.gz /root/rpmbuild/SOURCES - -RUN yum install -y rpm-build -RUN cd /root/rpmbuild; rpmbuild -ba SPECS/proxysql.spec -RUN cp /root/rpmbuild/RPMS/x86_64/proxysql-1.0.1-1.x86_64.rpm /root/rpm diff --git a/docker/images/proxysql/centos7-build/proxysql.spec b/docker/images/proxysql/centos7-build/proxysql.spec index 88d0a671d..8aa003608 100644 --- a/docker/images/proxysql/centos7-build/proxysql.spec +++ b/docker/images/proxysql/centos7-build/proxysql.spec @@ -50,6 +50,8 @@ chkconfig --del %{name} %{_sysconfdir}/init.d/%{name} %changelog +* Mon Mar 14 2016 Rene Cannao 1.2.0 +- First testing release of 1.2 * Sat Mar 11 2016 Rene Cannao 1.1.2 - Upgraded to release 1.1.2 * Sat Oct 31 2015 Rene Cannao 1.0.1