From ecd9b4d204c2fdedaf77385c41f8647c00195331 Mon Sep 17 00:00:00 2001 From: XZhouQD Date: Thu, 26 Nov 2020 13:11:42 +0800 Subject: [PATCH 1/9] re-fork, DBMS rpm complete, start Web, reorganise --- .../6.0.0}/CentOS-AltArch-7.repo | 0 .../6.0.0}/Dockerfile-greenplum-6.0.0 | 20 ++- .../greenplum/6.0.0/greenplum6.0.0.spec | 114 ++++++++++++++++++ .../mariadb/10.3.8}/CentOS-AltArch-7.repo | 0 .../10.3.8}/Dockerfile-mariadb-10.3.8 | 30 ++--- .../mariadb/10.3.8/mariadb10.3.8.spec | 104 ++++++++++++++++ .../mongodb/4.0.12/CentOS-AltArch-7.repo | 25 ++++ .../4.0.12}/Dockerfile-mongodb-4.0.12 | 42 ++----- .../mongodb/4.0.12/mongodb4.0.12.spec | 85 +++++++++++++ .../mysql/8.0.17/Dockerfile-mysql-8.0.17 | 26 ++-- .../mysql/8.0.17/mysql8.0.17.spec | 98 +++++++++------ .../percona/8.0.15/CentOS-AltArch-7.repo | 25 ++++ .../8.0.15}/Dockerfile-percona-8.0.15 | 24 ++-- .../percona/8.0.15/percona8.0.15.spec | 110 +++++++++++++++++ .../postgresql/11.3/CentOS-AltArch-7.repo | 25 ++++ .../11.3}/Dockerfile-postgresql-11.3 | 18 +-- .../postgresql/11.3/postgresql11.3.spec | 81 +++++++++++++ .../apache/2.4.46/CentOS-AltArch-7.repo | 25 ++++ .../2.4.46}/Dockerfile-apache-2.4.46 | 0 .../haproxy/1.9.0/CentOS-AltArch-7.repo | 25 ++++ .../1.9.0}/Dockerfile-haproxy-1.9.0 | 0 .../lighttpd/1.4.53/CentOS-AltArch-7.repo | 25 ++++ .../1.4.53}/Dockerfile-lighttpd-1.4.53 | 0 .../memcached/1.5.12/CentOS-AltArch-7.repo | 25 ++++ .../1.5.12}/Dockerfile-memcached-1.5.12 | 0 .../nginx/1.14.2/CentOS-AltArch-7.repo | 25 ++++ .../1.14.2}/Dockerfile-nginx-1.14.2 | 17 ++- .../nginx/1.14.2/nginx1.14.2.spec | 51 ++++++++ .../openssl/1.1.1/CentOS-AltArch-7.repo | 25 ++++ .../openssl/1.1.1/Dockerfile-openssl-1.1.1a | 23 ++++ .../openssl/1.1.1/openssl1.1.1a.spec | 73 +++++++++++ .../squid/4.8/CentOS-AltArch-7.repo | 25 ++++ .../{ => squid/4.8}/Dockerfile-squid-4.8 | 0 .../tengine/2.2.2/CentOS-AltArch-7.repo | 25 ++++ .../2.2.2}/Dockerfile-tengine-2.2.2 | 0 .../{ => tengine/2.2.2}/openssl.cnf | 0 .../varnish/6.2.0/CentOS-AltArch-7.repo | 25 ++++ .../6.2.0}/Dockerfile-varnish-6.2.0 | 0 38 files changed, 1091 insertions(+), 125 deletions(-) rename DBMS/CentOS7.6.1810/{ => greenplum/6.0.0}/CentOS-AltArch-7.repo (100%) rename DBMS/CentOS7.6.1810/{ => greenplum/6.0.0}/Dockerfile-greenplum-6.0.0 (91%) create mode 100644 DBMS/CentOS7.6.1810/greenplum/6.0.0/greenplum6.0.0.spec rename {Web/CentOS7.6.1810 => DBMS/CentOS7.6.1810/mariadb/10.3.8}/CentOS-AltArch-7.repo (100%) rename DBMS/CentOS7.6.1810/{ => mariadb/10.3.8}/Dockerfile-mariadb-10.3.8 (36%) create mode 100644 DBMS/CentOS7.6.1810/mariadb/10.3.8/mariadb10.3.8.spec create mode 100644 DBMS/CentOS7.6.1810/mongodb/4.0.12/CentOS-AltArch-7.repo rename DBMS/CentOS7.6.1810/{ => mongodb/4.0.12}/Dockerfile-mongodb-4.0.12 (53%) create mode 100644 DBMS/CentOS7.6.1810/mongodb/4.0.12/mongodb4.0.12.spec create mode 100644 DBMS/CentOS7.6.1810/percona/8.0.15/CentOS-AltArch-7.repo rename DBMS/CentOS7.6.1810/{ => percona/8.0.15}/Dockerfile-percona-8.0.15 (70%) create mode 100644 DBMS/CentOS7.6.1810/percona/8.0.15/percona8.0.15.spec create mode 100644 DBMS/CentOS7.6.1810/postgresql/11.3/CentOS-AltArch-7.repo rename DBMS/CentOS7.6.1810/{ => postgresql/11.3}/Dockerfile-postgresql-11.3 (73%) create mode 100644 DBMS/CentOS7.6.1810/postgresql/11.3/postgresql11.3.spec create mode 100644 Web/CentOS7.6.1810/apache/2.4.46/CentOS-AltArch-7.repo rename Web/CentOS7.6.1810/{ => apache/2.4.46}/Dockerfile-apache-2.4.46 (100%) create mode 100644 Web/CentOS7.6.1810/haproxy/1.9.0/CentOS-AltArch-7.repo rename Web/CentOS7.6.1810/{ => haproxy/1.9.0}/Dockerfile-haproxy-1.9.0 (100%) create mode 100644 Web/CentOS7.6.1810/lighttpd/1.4.53/CentOS-AltArch-7.repo rename Web/CentOS7.6.1810/{ => lighttpd/1.4.53}/Dockerfile-lighttpd-1.4.53 (100%) create mode 100644 Web/CentOS7.6.1810/memcached/1.5.12/CentOS-AltArch-7.repo rename Web/CentOS7.6.1810/{ => memcached/1.5.12}/Dockerfile-memcached-1.5.12 (100%) create mode 100644 Web/CentOS7.6.1810/nginx/1.14.2/CentOS-AltArch-7.repo rename Web/CentOS7.6.1810/{ => nginx/1.14.2}/Dockerfile-nginx-1.14.2 (69%) create mode 100644 Web/CentOS7.6.1810/nginx/1.14.2/nginx1.14.2.spec create mode 100644 Web/CentOS7.6.1810/openssl/1.1.1/CentOS-AltArch-7.repo create mode 100644 Web/CentOS7.6.1810/openssl/1.1.1/Dockerfile-openssl-1.1.1a create mode 100644 Web/CentOS7.6.1810/openssl/1.1.1/openssl1.1.1a.spec create mode 100644 Web/CentOS7.6.1810/squid/4.8/CentOS-AltArch-7.repo rename Web/CentOS7.6.1810/{ => squid/4.8}/Dockerfile-squid-4.8 (100%) create mode 100644 Web/CentOS7.6.1810/tengine/2.2.2/CentOS-AltArch-7.repo rename Web/CentOS7.6.1810/{ => tengine/2.2.2}/Dockerfile-tengine-2.2.2 (100%) rename Web/CentOS7.6.1810/{ => tengine/2.2.2}/openssl.cnf (100%) create mode 100644 Web/CentOS7.6.1810/varnish/6.2.0/CentOS-AltArch-7.repo rename Web/CentOS7.6.1810/{ => varnish/6.2.0}/Dockerfile-varnish-6.2.0 (100%) diff --git a/DBMS/CentOS7.6.1810/CentOS-AltArch-7.repo b/DBMS/CentOS7.6.1810/greenplum/6.0.0/CentOS-AltArch-7.repo similarity index 100% rename from DBMS/CentOS7.6.1810/CentOS-AltArch-7.repo rename to DBMS/CentOS7.6.1810/greenplum/6.0.0/CentOS-AltArch-7.repo diff --git a/DBMS/CentOS7.6.1810/Dockerfile-greenplum-6.0.0 b/DBMS/CentOS7.6.1810/greenplum/6.0.0/Dockerfile-greenplum-6.0.0 similarity index 91% rename from DBMS/CentOS7.6.1810/Dockerfile-greenplum-6.0.0 rename to DBMS/CentOS7.6.1810/greenplum/6.0.0/Dockerfile-greenplum-6.0.0 index 874cbe4..e18b1b9 100644 --- a/DBMS/CentOS7.6.1810/Dockerfile-greenplum-6.0.0 +++ b/DBMS/CentOS7.6.1810/greenplum/6.0.0/Dockerfile-greenplum-6.0.0 @@ -119,10 +119,20 @@ RUN wget "https://github.com/greenplum-db/gporca/archive/v3.65.3.zip" \ && echo /usr/local/lib >> /etc/ld.so.conf \ && ldconfig +# Get rpm bug fix files +RUN wget "https://mirrors.huaweicloud.com/kunpeng/archive/kunpeng_solution/database/patch/rpm-bug.zip" \ + && unzip rpm-bug.zip + +RUN yum install -y rpm-build + # Get Greenplum source code, build and install +WORKDIR /root RUN wget "https://github.com/greenplum-db/gpdb/releases/download/6.0.0/6.0.0.zip" \ - && unzip 6.0.0.zip \ - && cd gpdb-6.0.0/ \ - && ./configure --with-perl --with-python --with-libxml --prefix=/usr/local/gpdb \ - && make -j$(eval ${COMPILE_THREAD}) \ - && make install \ No newline at end of file + && mkdir -p rpmbuild/{BUILD,SOURCES,SPECS,RPMS} \ + && mv 6.0.0.zip rpmbuild/SOURCES/gpdb-6.0.0.zip \ + && mv /home/rpm-bug/* rpmbuild/SOURCES/. +COPY greenplum6.0.0.spec rpmbuild/SPECS/. +RUN rpmbuild -bb rpmbuild/SPECS/greenplum6.0.0.spec \ + && mkdir -p /root/output \ + && cp rpmbuild/RPMS/aarch64/gpdb-6.0.0-1.el7.aarch64.rpm output/. + diff --git a/DBMS/CentOS7.6.1810/greenplum/6.0.0/greenplum6.0.0.spec b/DBMS/CentOS7.6.1810/greenplum/6.0.0/greenplum6.0.0.spec new file mode 100644 index 0000000..9e8ef35 --- /dev/null +++ b/DBMS/CentOS7.6.1810/greenplum/6.0.0/greenplum6.0.0.spec @@ -0,0 +1,114 @@ +Name: gpdb +Version: 6.0.0 +Release: 1%{?dist} + +Group: applications/database +License: greenplum +URL: https://github.com/greenplum-db/gpdb/archive/gpdb-6.0.0.zip +Source: %{name}-%{version}.zip + +Autoreq: no +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +prefix: /usr/local/gpdb +Summary: greenplum server 6.0.0 + +%description + +%define GPDB_USER gpadmin +%define GPDB_GROUP gpadmin +%define __os_install_post %{nil} +%define __debug_install_post \ +%{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}" \ +%{nil} + +%prep +%setup -q -n %{name}-%{version} + +%build +./configure --with-perl --with-python --with-libxml --prefix=%{prefix} +make -j `cat /proc/cpuinfo | grep processor | wc -l` + +%install +make -j `cat /proc/cpuinfo | grep processor | wc -l` install +mkdir -p $RPM_BUILD_ROOT/usr/local/lib +mkdir -p $RPM_BUILD_ROOT/usr/lib64/python2.7/site-packages +mkdir -p $RPM_BUILD_ROOT/usr/lib/python2.7/site-packages +mv /usr/local/gpdb $RPM_BUILD_ROOT/usr/local +cp -r /usr/local/lib/* $RPM_BUILD_ROOT/usr/local/lib + +cp -r /usr/lib64/python2.7/site-packages/psutil-5.7.0-py2.7-linux-aarch64.egg/psutil $RPM_BUILD_ROOT/usr/lib64/python2.7/site-packages/psutil +cp -r /usr/lib64/python2.7/site-packages/cryptography-2.8-py2.7-linux-aarch64.egg/cryptography $RPM_BUILD_ROOT/usr/lib64/python2.7/site-packages/cryptography +cp -r /usr/lib64/python2.7/site-packages/cffi-1.14.0-py2.7-linux-aarch64.egg/cffi $RPM_BUILD_ROOT/usr/lib64/python2.7/site-packages/cffi +cp -r /usr/lib64/python2.7/site-packages/bcrypt-3.1.7-py2.7-linux-aarch64.egg/bcrypt $RPM_BUILD_ROOT/usr/lib64/python2.7/site-packages/bcrypt +cp -r /usr/lib64/python2.7/site-packages/PyNaCl-1.3.0-py2.7-linux-aarch64.egg/nacl $RPM_BUILD_ROOT/usr/lib64/python2.7/site-packages/nacl +cp -r /usr/lib64/python2.7/site-packages/cffi-1.14.0-py2.7-linux-aarch64.egg/_cffi_backend.so $RPM_BUILD_ROOT/usr/lib64/python2.7/site-packages/. +cp -r /usr/lib/python2.7/site-packages/lockfile $RPM_BUILD_ROOT/usr/lib/python2.7/site-packages/lockfile +cp -r /usr/lib/python2.7/site-packages/paramiko-2.7.1-py2.7.egg $RPM_BUILD_ROOT/usr/lib/python2.7/site-packages/paramiko +cp -r /usr/lib/python2.7/site-packages/six* $RPM_BUILD_ROOT/usr/lib/python2.7/site-packages/. +cp -r /usr/lib/python2.7/site-packages/ipaddress* $RPM_BUILD_ROOT/usr/lib/python2.7/site-packages/. +cp -r /usr/lib/python2.7/site-packages/enum* $RPM_BUILD_ROOT/usr/lib/python2.7/site-packages/enum +cp -r /usr/lib/python2.7/site-packages/pbr $RPM_BUILD_ROOT/usr/lib/python2.7/site-packages/pbr +cp -r /usr/lib/python2.7/site-packages/pycparser $RPM_BUILD_ROOT/usr/lib/python2.7/site-packages/pycparser + +cp %{_sourcedir}/libatomic.so.1 $RPM_BUILD_ROOT/usr/local/lib +cp %{_sourcedir}/libstdc++.so.6.0.24 $RPM_BUILD_ROOT/usr/local/lib + +%clean +rm -rf $RPM_BUILD_ROOT +rm -rf $RPM_BUILD_DIR/* + +%files +%defattr(-, %{GPDB_USER}, %{GPDB_GROUP}) +%attr(755, %{GPDB_USER}, %{GPDB_GROUP}) %{prefix}/* +%attr(755, root, root) /usr/local/lib/* +%attr(755, root, root) /usr/lib64/python2.7/site-packages/psutil +%attr(755, root, root) /usr/lib64/python2.7/site-packages/cryptography +%attr(755, root, root) /usr/lib64/python2.7/site-packages/cffi* +%attr(755, root, root) /usr/lib64/python2.7/site-packages/bcrypt +%attr(755, root, root) /usr/lib64/python2.7/site-packages/nacl +%attr(755, root, root) /usr/lib64/python2.7/site-packages/_cffi_backend.so +%attr(755, root, root) /usr/lib/python2.7/site-packages/lockfile +%attr(755, root, root) /usr/lib/python2.7/site-packages/paramiko +%attr(755, root, root) /usr/lib/python2.7/site-packages/six* +%attr(755, root, root) /usr/lib/python2.7/site-packages/ipaddress* +%attr(755, root, root) /usr/lib/python2.7/site-packages/enum +%attr(755, root, root) /usr/lib/python2.7/site-packages/pbr +%attr(755, root, root) /usr/lib/python2.7/site-packages/pycparser + +%pre +if ! id %{GPDB_USER} > /dev/null 2>&1;then + groupadd %{GPDB_GROUP} + useradd -g %{GPDB_GROUP} %{GPDB_USER} +fi + +%post +if [ ! -f /usr/lib64/libatomic.so.1 ];then + cp -f /usr/local/lib/libatomic.so.1 /usr/lib64/ +else + ver1=`ls -l /usr/lib64/libatomic.so.1|awk -F'.' '{print ""$6"."$7"."$8""}'` + ver11=`echo -e "${ver1}\n1.1.99"|sort -V|tail -1` + if [ "${ver11}" = "1.1.99" ];then + cp -f /usr/local/lib/libatomic.so.1 /usr/lib64/ + fi +fi +if [ ! -f /usr/lib64/libstdc++.so.6 ];then + cp -f /usr/local/lib/libstdc++.so.6.0.24 /usr/lib64/ + ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6 +else + ver2=`ls -l /usr/lib64/libstdc++.so.6|awk -F'.' '{print ""$6"."$7"."$8""}'` + ver22=`echo -e "${ver2}\n6.0.23"|sort -V|tail -1` + if [ "${ver22}" = "6.0.23" ];then + cp -f /usr/local/lib/libstdc++.so.6.0.24 /usr/lib64 + rm -f /usr/lib64/libstdc++.so.6 + ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6 + fi +fi + +%preun + +%postun +rm -rf %{prefix} +userdel -r {GPDB_USER} >/dev/null 2>&1 + +%changelog + diff --git a/Web/CentOS7.6.1810/CentOS-AltArch-7.repo b/DBMS/CentOS7.6.1810/mariadb/10.3.8/CentOS-AltArch-7.repo similarity index 100% rename from Web/CentOS7.6.1810/CentOS-AltArch-7.repo rename to DBMS/CentOS7.6.1810/mariadb/10.3.8/CentOS-AltArch-7.repo diff --git a/DBMS/CentOS7.6.1810/Dockerfile-mariadb-10.3.8 b/DBMS/CentOS7.6.1810/mariadb/10.3.8/Dockerfile-mariadb-10.3.8 similarity index 36% rename from DBMS/CentOS7.6.1810/Dockerfile-mariadb-10.3.8 rename to DBMS/CentOS7.6.1810/mariadb/10.3.8/Dockerfile-mariadb-10.3.8 index 2e1f1f1..218d8c6 100644 --- a/DBMS/CentOS7.6.1810/Dockerfile-mariadb-10.3.8 +++ b/DBMS/CentOS7.6.1810/mariadb/10.3.8/Dockerfile-mariadb-10.3.8 @@ -1,27 +1,27 @@ # Starting from CentOS 7.6.1810 aarch64 FROM arm64v8/centos:1810 -# Expose default MariaDB port - notice that this dockerfile only INSTALL MariaDB but not configure and run it -EXPOSE 3306 - -# Compile arg - automatic -ARG COMPILE_THREAD="lscpu | grep ^CPU\(s\): | awk '{print \$2}'" - # Install required packages from yum, use Huawei Cloud Mirror RUN mv /etc/yum.repos.d /etc/yum.repos.d.bak \ && mkdir /etc/yum.repos.d COPY CentOS-AltArch-7.repo /etc/yum.repos.d/. RUN yum clean all \ && yum makecache \ - && yum -y install readline-devel zlib-devel openssl* cmake git gcc* perl* bison wget + && yum -y install readline-devel zlib-devel openssl* cmake git gcc* perl* bison wget unzip rpm-build -# Get MariaDB source code, build and install +# Get rpm bug fix files WORKDIR /home +RUN wget "https://mirrors.huaweicloud.com/kunpeng/archive/kunpeng_solution/database/patch/rpm-bug.zip" \ + && unzip rpm-bug.zip + +# Get MariaDB source code, build and install +WORKDIR /root RUN wget "https://archive.mariadb.org//mariadb-10.3.8/source/mariadb-10.3.8.tar.gz" \ - && tar -zxf mariadb-10.3.8.tar.gz \ - && mkdir -p /data/mysql \ - && cd mariadb-10.3.8/ \ - && cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb -DMYSQL_DATADIR=/data/mariadb/data -DSYSCONFDIR=/etc -DWITHOUT_TOKUDB=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARVHICE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LOBWRAP=0 -DMYSQL_UNIX_ADDR=/data/mariadb/run/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci \ - && make -j$(eval ${COMPILE_THREAD}) \ - && make -j$(eval ${COMPILE_THREAD}) install \ - && /usr/local/mariadb/bin/mysql --version + && mkdir -p rpmbuild/{BUILD,SOURCES,SPECS,RPMS} \ + && mv mariadb-10.3.8.tar.gz rpmbuild/SOURCES/. \ + && mv /home/rpm-bug/* rpmbuild/SOURCES/. +COPY mariadb10.3.8.spec rpmbuild/SPECS/. +RUN rpmbuild -bb rpmbuild/SPECS/mariadb10.3.8.spec \ + && mkdir -p /root/output \ + && cp rpmbuild/RPMS/aarch64/mariadb-10.3.8-1.el7.aarch64.rpm output/. + diff --git a/DBMS/CentOS7.6.1810/mariadb/10.3.8/mariadb10.3.8.spec b/DBMS/CentOS7.6.1810/mariadb/10.3.8/mariadb10.3.8.spec new file mode 100644 index 0000000..4abd8c9 --- /dev/null +++ b/DBMS/CentOS7.6.1810/mariadb/10.3.8/mariadb10.3.8.spec @@ -0,0 +1,104 @@ +Name: mariadb +Version: 10.3.8 +Release: 1%{?dist} + +Group: applications/database +License: Mariadb +URL: http://mariadb.org +Source: %{name}-%{version}.tar.gz + +Autoreq: no +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +prefix: /usr/local/mariadb +Summary: A community developed branch of MySQL + +%description + +%define MYSQL_USER mysql +%define MYSQL_GROUP mysql +%define __os_install_post %{nil} +%define __debug_install_post \ +%{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}" \ +%{nil} + +%prep +%setup -q -n %{name}-%{version} + +%build +cmake \ +-DCMAKE_INSTALL_PREFIX=%{prefix} \ +-DMYSQL_DATADIR=/data/mariadb/data \ +-DSYSCONFDIR=/etc \ +-DWITHOUT_TOKUDB=1 \ +-DWITH_INNOBASE_STORAGE_ENGINE=1 \ +-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ +-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ +-DWITH_READLINE=1 \ +-DWITH_SSL=system \ +-DWITH_ZLIB=system \ +-DWITH_LOBWRAP=0 \ +-DMYSQL_UNIX_ADDR=/data/mariadb/run/mysql.sock \ +-DDEFAULT_CHARSET=utf8 \ +-DDEFAULT_COLLATION=utf8_general_ci + +make -j `cat /proc/cpuinfo | grep processor | wc -l` + +%install +make -j `cat /proc/cpuinfo | grep processor | wc -l` DESTDIR=$RPM_BUILD_ROOT install +cp %{_sourcedir}/libatomic.so.1 $RPM_BUILD_ROOT/usr/local/mariadb/lib +cp %{_sourcedir}/libstdc++.so.6.0.24 $RPM_BUILD_ROOT/usr/local/mariadb/lib + +%clean +rm -rf $RPM_BUILD_ROOT +rm -rf $RPM_BUILD_DIR/* + +%files +%defattr(-, %{MYSQL_USER}, %{MYSQL_GROUP}) +%attr(755, %{MYSQL_USER}, %{MYSQL_GROUP}) %{prefix}/* + +%pre +if ! id %{MYSQL_USER} > /dev/null 2>&1;then + groupadd %{MYSQL_GROUP} + useradd -g %{MYSQL_GROUP} %{MYSQL_USER} +fi + +%post + +if [ -f %{prefix}/support-files/mysql.server > /dev/null 2>&1 ] && [ ! -f %{_initddir}/mariadb > /dev/null 2>&1 ];then + cp %{prefix}/support-files/mysql.server %{_initddir}/mariadb + chmod +x %{_initddir}/mariadb + chkconfig --level 2345 mariadb on +fi +if [ ! -f /usr/lib64/libatomic.so.1 ];then + cp -f /usr/local/mariadb/lib/libatomic.so.1 /usr/lib64/ +else + ver1=`ls -l /usr/lib64/libatomic.so.1|awk -F'.' '{print ""$6"."$7"."$8""}'` + ver11=`echo -e "${ver1}\n1.1.99"|sort -V|tail -1` + if [ "${ver11}" = "1.1.99" ];then + cp -f /usr/local/mariadb/lib/libatomic.so.1 /usr/lib64/ + fi +fi +if [ ! -f /usr/lib64/libstdc++.so.6 ];then + cp -f /usr/local/mariadb/lib/libstdc++.so.6.0.24 /usr/lib64/ + ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6 +else + ver2=`ls -l /usr/lib64/libstdc++.so.6|awk -F'.' '{print ""$6"."$7"."$8""}'` + ver22=`echo -e "${ver2}\n6.0.23"|sort -V|tail -1` + if [ "${ver22}" = "6.0.23" ];then + cp -f /usr/local/mariadb/lib/libstdc++.so.6.0.24 /usr/lib64 + rm -f /usr/lib64/libstdc++.so.6 + ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6 + fi +fi + +%preun +if [ -f %{_initddir}/mariadb ];then + mv %{_initddir}/mariadb %{_initddir}/mariadb.rpmold +fi + +%postun +rm -rf %{prefix} +userdel -r {MYSQL_USER} >/dev/null 2>&1 + +%changelog + diff --git a/DBMS/CentOS7.6.1810/mongodb/4.0.12/CentOS-AltArch-7.repo b/DBMS/CentOS7.6.1810/mongodb/4.0.12/CentOS-AltArch-7.repo new file mode 100644 index 0000000..52e3a23 --- /dev/null +++ b/DBMS/CentOS7.6.1810/mongodb/4.0.12/CentOS-AltArch-7.repo @@ -0,0 +1,25 @@ +[base] +name=CentOS-7.6 - Base - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[updates] +name=CentOS-7.6 - Updates - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/updates/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[extras] +name=CentOS-7.6 - Extras - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/extras/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[centosplus] +name=CentOS-7.6 - Plus - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/centosplus/aarch64/ +gpgcheck=0 +enabled=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + diff --git a/DBMS/CentOS7.6.1810/Dockerfile-mongodb-4.0.12 b/DBMS/CentOS7.6.1810/mongodb/4.0.12/Dockerfile-mongodb-4.0.12 similarity index 53% rename from DBMS/CentOS7.6.1810/Dockerfile-mongodb-4.0.12 rename to DBMS/CentOS7.6.1810/mongodb/4.0.12/Dockerfile-mongodb-4.0.12 index 00883b4..1f7202d 100644 --- a/DBMS/CentOS7.6.1810/Dockerfile-mongodb-4.0.12 +++ b/DBMS/CentOS7.6.1810/mongodb/4.0.12/Dockerfile-mongodb-4.0.12 @@ -13,7 +13,7 @@ RUN mv /etc/yum.repos.d /etc/yum.repos.d.bak \ COPY CentOS-AltArch-7.repo /etc/yum.repos.d/. RUN yum clean all \ && yum makecache \ - && yum -y install git make gcc gcc-c++ libyaml libyaml-devel python-setuptools libcurl-devel python-devel gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel libpcap-dev* wget unzip zip + && yum -y install git make gcc gcc-c++ libyaml libyaml-devel python-setuptools libcurl-devel python-devel gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel libpcap-dev* wget unzip zip rpm-build # Update cmake and gcc to proper version WORKDIR /home @@ -50,35 +50,15 @@ RUN git config --global http.sslVerify false \ && cd cheetah3 \ && python setup.py install -# Environment variables for go env -ENV PATH=$PATH:/usr/local/go/bin GOROOT=/usr/local/go - # Get MongoDB source code, build and install RUN wget "https://github.com/mongodb/mongo/archive/r4.0.12.tar.gz" \ - && tar -zxf r4.0.12.tar.gz \ - && cd mongo-r4.0.12/ \ - && python2 buildscripts/scons.py MONGO_VERSION=4.0.12 all CFLAGS="-march=armv8-a+crc -mtune=generic" -j$(eval ${COMPILE_THREAD}) --disable-warnings-as-errors \ - && mkdir -p /usr/local/mongo \ - && python2 buildscripts/scons.py MONGO_VERSION=4.0.12 --prefix=/usr/local/mongo --disable-warnings-as-errors CFLAGS="-march=armv8-a+crc" install -j$(eval ${COMPILE_THREAD}) \ - && cd /usr/local/mongo/bin/ \ - && strip mongos \ - && strip mongod \ - && strip mongo - -# Get MongoDB Tools, gopacket, build -RUN wget https://golang.google.cn/dl/go1.13.5.linux-arm64.tar.gz --no-check-certificate \ - && tar -C /usr/local -zxf go1.13.5.linux-arm64.tar.gz \ - && wget https://github.com/mongodb/mongo-tools/archive/r4.0.6.tar.gz --no-check-certificate \ - && tar -zxf r4.0.6.tar.gz \ - && chmod +x mongo-tools-r4.0.6/set_goenv.sh \ - && source mongo-tools-r4.0.6/set_goenv.sh \ - && mkdir -p mongodb-tools-4.0.6/src/github.com/mongodb \ - && mv mongo-tools-r4.0.6 mongodb-tools-4.0.6/src/github.com/mongodb/mongo-tools \ - && wget https://github.com/google/gopacket/archive/master.zip --no-check-certificate \ - && unzip master.zip \ - && rm -rf mongodb-tools-4.0.6/src/github.com/mongodb/mongo-tools/vendor/github.com/google/gopacket \ - && mv gopacket-master mongodb-tools-4.0.6/src/github.com/mongodb/mongo-tools/vendor/github.com/google/gopacket \ - && mkdir -p /opt/mongodbtoolchain/v2/bin \ - && ln -s /usr/bin/gcc /opt/mongodbtoolchain/v2/bin/aarch64-mongodb-linux-gcc \ - && cd mongodb-tools-4.0.6/src/github.com/mongodb/mongo-tools \ - && ./build.sh + && mkdir -p /root/rpmbuild/{BUILD,SOURCES,SPECS,RPMS} \ + && mv r4.0.12.tar.gz /root/rpmbuild/SOURCES/mongo-r4.0.12.tar.gz \ + && wget "https://mirrors.huaweicloud.com/kunpeng/archive/kunpeng_solution/database/patch/rpm-bug.zip" \ + && unzip rpm-bug.zip \ + && mv rpm-bug/* /root/rpmbuild/SOURCES/. +WORKDIR /root +COPY mongodb4.0.12.spec rpmbuild/SPECS/. +RUN rpmbuild -bb rpmbuild/SPECS/mongodb4.0.12.spec \ + && mkdir -p /root/output \ + && cp rpmbuild/RPMS/aarch64/mongo-4.0.12-1.el7.aarch64.rpm output/. diff --git a/DBMS/CentOS7.6.1810/mongodb/4.0.12/mongodb4.0.12.spec b/DBMS/CentOS7.6.1810/mongodb/4.0.12/mongodb4.0.12.spec new file mode 100644 index 0000000..7ec4638 --- /dev/null +++ b/DBMS/CentOS7.6.1810/mongodb/4.0.12/mongodb4.0.12.spec @@ -0,0 +1,85 @@ +Name: mongo +Version: 4.0.12 +Release: 1%{?dist} + +Group: applications/database +License: mongo +URL: https://www.mongodb.com +Source: %{name}-r%{version}.tar.gz + +Autoreq: no +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +prefix: /usr/local/mongo +Summary: mongo server 4.0.12-1 + +%description + +%define MONGO_USER mongo +%define MONGO_GROUP mongo +%define __os_install_post %{nil} +%define __debug_install_post \ +%{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}" \ +%{nil} + +%prep +%setup -q -n %{name}-r%{version} + +%build +python2 buildscripts/scons.py MONGO_VERSION=%{version} all CFLAGS="-march=armv8-a+crc -mtune=generic" -j`cat /proc/cpuinfo | grep processor | wc -l` --disable-warnings-as-errors + +%install +python2 buildscripts/scons.py MONGO_VERSION=%{version} --prefix=$RPM_BUILD_ROOT%{prefix} --disable-warnings-as-errors CFLAGS='-march=armv8-a+crc' install -j`cat /proc/cpuinfo | grep processor | wc -l` + +cd /root/rpmbuild/BUILDROOT/mongo-%{version}-1%{?dist}.aarch64%{prefix}/bin +strip mongos +strip mongod +strip mongo + +cp %{_sourcedir}/libatomic.so.1 $RPM_BUILD_ROOT%{prefix}/bin +cp %{_sourcedir}/libstdc++.so.6.0.24 $RPM_BUILD_ROOT%{prefix}/bin + +%clean +rm -rf $RPM_BUILD_ROOT +rm -rf $RPM_BUILD_DIR/* + +%files +%defattr(-, %{MONGO_USER}, %{MONGO_GROUP}) +%attr(755, %{MONGO_USER}, %{MONGO_GROUP}) %{prefix}/* + +%pre +if ! id %{MONGO_USER} > /dev/null 2>&1;then + groupadd %{MONGO_GROUP} + useradd -g %{MONGO_GROUP} %{MONGO_USER} +fi + +%post +if [ ! -f /usr/lib64/libatomic.so.1 ];then + cp -f %{prefix}/bin/libatomic.so.1 /usr/lib64/ +else + ver1=`ls -l /usr/lib64/libatomic.so.1|awk -F'.' '{print ""$6"."$7"."$8""}'` + ver11=`echo -e "${ver1}\n1.1.99"|sort -V|tail -1` + if [ "${ver11}" = "1.1.99" ];then + cp -f %{prefix}/bin/libatomic.so.1 /usr/lib64/ + fi +fi +if [ ! -f /usr/lib64/libstdc++.so.6 ];then + cp -f %{prefix}/bin/libstdc++.so.6.0.24 /usr/lib64/ + ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6 +else + ver2=`ls -l /usr/lib64/libstdc++.so.6|awk -F'.' '{print ""$6"."$7"."$8""}'` + ver22=`echo -e "${ver2}\n6.0.23"|sort -V|tail -1` + if [ "${ver22}" = "6.0.23" ];then + cp -f %{prefix}/bin/libstdc++.so.6.0.24 /usr/lib64 + rm -f /usr/lib64/libstdc++.so.6 + ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6 + fi +fi + +%preun + +%postun +rm -rf %{prefix} +userdel -r {MONGO_USER} >/dev/null 2>&1 + +%changelog + diff --git a/DBMS/CentOS7.6.1810/mysql/8.0.17/Dockerfile-mysql-8.0.17 b/DBMS/CentOS7.6.1810/mysql/8.0.17/Dockerfile-mysql-8.0.17 index d41636a..6c6b044 100644 --- a/DBMS/CentOS7.6.1810/mysql/8.0.17/Dockerfile-mysql-8.0.17 +++ b/DBMS/CentOS7.6.1810/mysql/8.0.17/Dockerfile-mysql-8.0.17 @@ -1,9 +1,6 @@ # Starting from CentOS 7.6.1810 aarch64 FROM arm64v8/centos:1810 -# Expose default MySQL port - notice that this dockerfile only INSTALL MySQL but not configure and run it -EXPOSE 3306 - # Compile arg - automatic ARG COMPILE_THREAD="lscpu | grep ^CPU\(s\): | awk '{print \$2}'" @@ -13,7 +10,7 @@ RUN mv /etc/yum.repos.d /etc/yum.repos.d.bak \ COPY CentOS-AltArch-7.repo /etc/yum.repos.d/. RUN yum clean all \ && yum makecache \ - && yum -y install bison ncurses ncurses-devel libaio-devel openssl openssl-devel gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel gcc gcc-c++ cmake net-tools wget tar git rpcgen rpm-build + && yum -y install bison ncurses ncurses-devel libaio-devel openssl openssl-devel gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel gcc gcc-c++ cmake net-tools wget tar git rpcgen rpm-build unzip # Update cmake and gcc to proper version WORKDIR /home @@ -32,16 +29,19 @@ RUN wget "https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz" \ && make -j$(eval ${COMPILE_THREAD}) \ && make -j$(eval ${COMPILE_THREAD}) install +# Get rpm bug fix files +RUN wget "https://mirrors.huaweicloud.com/kunpeng/archive/kunpeng_solution/database/patch/rpm-bug.zip" \ + && unzip rpm-bug.zip + # Get MySQL source code, build and install WORKDIR /root RUN wget "https://cdn.mysql.com/archives/mysql-8.0/mysql-boost-8.0.17.tar.gz" \ - && tar -zxf mysql-boost-8.0.17.tar.gz \ - && mkdir -p /data/mysql \ - && cd mysql-8.0.17/ \ - && mkdir build \ - && cd build \ - && cmake .. -DBUILD_CONFIG=mysql_release -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data -DWITH_BOOST=../boost/boost_1_69_0 \ - && make -j$(eval ${COMPILE_THREAD}) \ - && make -j$(eval ${COMPILE_THREAD}) install \ - && /usr/local/mysql/bin/mysql --version + && mkdir -p rpmbuild/{BUILD,SOURCES,SPECS,RPMS} \ + && mv mysql-boost-8.0.17.tar.gz rpmbuild/SOURCES/. \ + && mv /home/rpm-bug/* rpmbuild/SOURCES/. +COPY my.cnf rpmbuild/SOURCES/. +COPY mysql8.0.17.spec rpmbuild/SPECS/. +RUN rpmbuild -bb rpmbuild/SPECS/mysql8.0.17.spec \ + && mkdir -p /root/output \ + && cp rpmbuild/RPMS/aarch64/mysql-8.0.17-1.el7.aarch64.rpm output/. diff --git a/DBMS/CentOS7.6.1810/mysql/8.0.17/mysql8.0.17.spec b/DBMS/CentOS7.6.1810/mysql/8.0.17/mysql8.0.17.spec index 19066ff..7b2b4c3 100644 --- a/DBMS/CentOS7.6.1810/mysql/8.0.17/mysql8.0.17.spec +++ b/DBMS/CentOS7.6.1810/mysql/8.0.17/mysql8.0.17.spec @@ -3,72 +3,100 @@ Version: 8.0.17 Release: 1%{?dist} Group: applications/database -License: GPL -URL: https://www.mysql.com +License: Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Under GPLv2 license as shown in the Description field. +URL: http://www.mysql.com Source: %{name}-boost-%{version}.tar.gz Autoreq: no - -BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) - +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root prefix: /usr/local/mysql -Summary: MySQL 8.0.17 +Summary: A very fast and reliable SQL database server %description %define MYSQL_USER mysql %define MYSQL_GROUP mysql +%define __os_install_post %{nil} %define __debug_install_post \ %{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}" \ %{nil} %prep -%setup -n mysql-%{version} +%setup -q -n mysql-%{version} %build -cmake \ --DBUILD_CONFIG=mysql_releaese +cmake . \ +-DBUILD_CONFIG=mysql_release \ -DCMAKE_INSTALL_PREFIX=%{prefix} \ -DMYSQL_DATADIR=/data/mysql/data \ --DWITH_BOOST=boost/boost_1_69_0 +-DWITH_BOOST=boost/boost_1_69_0 \ +-DFORCE_INSOURCE_BUILD=1 make -j `cat /proc/cpuinfo | grep processor | wc -l` %install -rm -rf %{buildroot} -make -j `cat /proc/cpuinfo | grep processor | wc -l` install DESTDIR=%{buildroot} +make -j `cat /proc/cpuinfo | grep processor | wc -l` DESTDIR=%{buildroot} install cp %{_sourcedir}/my.cnf $RPM_BUILD_ROOT%{prefix}/ +cp %{_sourcedir}/libatomic.so.1 $RPM_BUILD_ROOT%{prefix}/lib +cp %{_sourcedir}/libstdc++.so.6.0.24 $RPM_BUILD_ROOT%{prefix}/lib -%pre -systemctl stop firewalld.service -systemctl disable firewalld.service -setenforce 0 -groupadd mysql -useradd -g mysql -s /bin/nologin -M mysql >/dev/null 2>&1 +%clean +rm -rf $RPM_BUILD_ROOT +rm -rf $RPM_BUILD_DIR/* + +%files +%defattr(-, %{MYSQL_USER}, %{MYSQL_GROUP}) +%attr(755, %{MYSQL_USER}, %{MYSQL_GROUP}) %{prefix}/* -mkdir -p /data/mysql/{data,tmp,run,log} -chown -R mysql:mysql /data/mysql +%pre +if ! id %{MYSQL_USER} > /dev/null 2>&1;then + groupadd %{MYSQL_GROUP} + useradd -g %{MYSQL_GROUP} %{MYSQL_USER} +fi %post -cp %{prefix}/support-files/mysql.server /etc/init.d/mysql +if [ -f %{prefix}/support-files/mysql.server > /dev/null 2>&1 ] && [ ! -f %{_initddir}/mysql > /dev/null 2>&1 ];then + cp %{prefix}/support-files/mysql.server %{_initddir}/mysql + chmod +x %{_initddir}/mysql + chkconfig --level 2345 mysql on +fi +if [ ! -f /usr/lib64/libatomic.so.1 ];then + cp -f /usr/local/mysql/lib/libatomic.so.1 /usr/lib64/ +else + ver1=`ls -l /usr/lib64/libatomic.so.1|awk -F'.' '{print ""$6"."$7"."$8""}'` + ver11=`echo -e "${ver1}\n1.1.99"|sort -V|tail -1` + if [ "${ver11}" = "1.1.99" ];then + cp -f /usr/local/mysql/lib/libatomic.so.1 /usr/lib64/ + fi +fi +if [ ! -f /usr/lib64/libstdc++.so.6 ];then + cp -f /usr/local/mysql/lib/libstdc++.so.6.0.24 /usr/lib64/ + ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6 +else + ver2=`ls -l /usr/lib64/libstdc++.so.6|awk -F'.' '{print ""$6"."$7"."$8""}'` + ver22=`echo -e "${ver2}\n6.0.23"|sort -V|tail -1` + if [ "${ver22}" = "6.0.23" ];then + cp -f /usr/local/mysql/lib/libstdc++.so.6.0.24 /usr/lib64 + rm -f /usr/lib64/libstdc++.so.6 + ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6 + fi +fi cp %{prefix}/my.cnf %{_sysconfdir}/my.cnf -chmod 777 /etc/init.d/mysql -chown -R mysql:mysql /etc/init.d/mysql chown mysql:mysql %{_sysconfdir}/my.cnf -echo export PATH=$PATH:/usr/local/mysql/bin >> /etc/profile -source /etc/profile +echo export PATH=$PATH:/usr/local/mysql/bin >> %{_sysconfdir}/profile +echo "MySQL ${version} installed successfully. You can now add %{prefix}/bin to path by 'source %{_sysconfdir}/profile'" %preun -service mysql stop -chkconfig --del mysql -userdel -r mysql >/dev/null 2>&1 -rm -rf %{prefix} >/dev/null 2>&1 -rm -rf /data/mysql >/dev/null 2>&1 -rm -rf /etc/init.d/mysql >/dev/null 2>&1 - -%files -%defattr(-, %{MYSQL_USER}, %{MYSQL_GROUP}) -%attr(755, %{MYSQL_USER}, %{MYSQL_GROUP}) %{prefix} +if [ -f %{_sysconfdir}/my.cnf ];then + mv %{_sysconfdir}/my.cnf %{_sysconfdir}/my.cnf.rpmold +fi +if [ -f %{_initddir}/mysql ];then + mv %{_initddir}/mysql %{_initddir}/mysql.rpmold +fi + +%postun +rm -rf %{prefix} +userdel -r {MYSQL_USER} >/dev/null 2>&1 %changelog diff --git a/DBMS/CentOS7.6.1810/percona/8.0.15/CentOS-AltArch-7.repo b/DBMS/CentOS7.6.1810/percona/8.0.15/CentOS-AltArch-7.repo new file mode 100644 index 0000000..52e3a23 --- /dev/null +++ b/DBMS/CentOS7.6.1810/percona/8.0.15/CentOS-AltArch-7.repo @@ -0,0 +1,25 @@ +[base] +name=CentOS-7.6 - Base - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[updates] +name=CentOS-7.6 - Updates - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/updates/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[extras] +name=CentOS-7.6 - Extras - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/extras/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[centosplus] +name=CentOS-7.6 - Plus - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/centosplus/aarch64/ +gpgcheck=0 +enabled=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + diff --git a/DBMS/CentOS7.6.1810/Dockerfile-percona-8.0.15 b/DBMS/CentOS7.6.1810/percona/8.0.15/Dockerfile-percona-8.0.15 similarity index 70% rename from DBMS/CentOS7.6.1810/Dockerfile-percona-8.0.15 rename to DBMS/CentOS7.6.1810/percona/8.0.15/Dockerfile-percona-8.0.15 index e8fb914..15930ce 100644 --- a/DBMS/CentOS7.6.1810/Dockerfile-percona-8.0.15 +++ b/DBMS/CentOS7.6.1810/percona/8.0.15/Dockerfile-percona-8.0.15 @@ -1,9 +1,6 @@ # Starting from CentOS 7.6.1810 aarch64 FROM arm64v8/centos:1810 -# Expose default Percona port - notice that this dockerfile only INSTALL Percona but not configure and run it -EXPOSE 3306 - # Compile arg - automatic ARG COMPILE_THREAD="lscpu | grep ^CPU\(s\): | awk '{print \$2}'" @@ -13,7 +10,7 @@ RUN mv /etc/yum.repos.d /etc/yum.repos.d.bak \ COPY CentOS-AltArch-7.repo /etc/yum.repos.d/. RUN yum clean all \ && yum makecache \ - && yum -y install ncurses ncurses-devel libaio-devel gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel libcurl-devel readline-devel zlib-devel openssl* gcc* cmake perl* bison net-tools wget git + && yum -y install ncurses ncurses-devel libaio-devel gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel libcurl-devel readline-devel zlib-devel openssl* gcc* cmake perl* bison net-tools wget git rpm-build unzip # Update cmake and gcc to proper version WORKDIR /home @@ -35,13 +32,20 @@ RUN wget "https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz" \ # Get Percona source code, resolve deadlock bug and build RUN wget "https://www.percona.com/downloads/Percona-Server-LATEST/Percona-Server-8.0.15-6/source/tarball/percona-server-8.0.15-6.tar.gz" \ && tar -zxf percona-server-8.0.15-6.tar.gz \ - && mkdir -p /data/percona \ && wget "https://nchc.dl.sourceforge.net/project/boost/boost/1.68.0/boost_1_68_0.tar.gz" \ - && tar -zxf boost_1_68_0.tar.gz \ && cd percona-server-8.0.15-6/storage/innobase/sync \ && sed -i '512,514d' sync0rw.cc \ && sed -i '511a\ bool recursive;\n os_thread_id_t writer_thread;\n\n if (!pass) {\n recursive = lock->recursive;\n os_rmb;\n writer_thread = lock->writer_thread;\n }' sync0rw.cc \ - && cd /home/percona-server-8.0.15-6 \ - && cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_CONFIG=mysql_release -DFEATURE_SET=community -DWITH_BOOST=/home/boost_1_68_0 -DCMAKE_INSTALL_PREFIX=/usr/local/percona -DMYSQL_DATADIR=/data/percona -DSYSCONFIDIR=/etc -DWITHOUT_TOKUDB=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LOBWRAP=0 -DMYSQL_UNIX_ADDR=/data/percona/run/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DFORCE_INSOURCE_BUILD=1 \ - && make -j$(eval ${COMPILE_THREAD}) \ - && make -j$(eval ${COMPILE_THREAD}) install + && cd /home \ + && tar -czf percona-server-8.0.15-6.tar.gz percona-server-8.0.15-6/ +WORKDIR /root +RUN mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS} \ + && mv /home/percona-server-8.0.15-6.tar.gz rpmbuild/SOURCES/. \ + && mv /home/boost_1_68_0.tar.gz rpmbuild/SOURCES/. \ + && wget https://mirrors.huaweicloud.com/kunpeng/archive/kunpeng_solution/database/patch/rpm-bug.zip \ + && unzip rpm-bug.zip \ + && cp rpm-bug/* rpmbuild/SOURCES/. +COPY percona8.0.15.spec rpmbuild/SPECS/. +RUN rpmbuild -bb rpmbuild/SPECS/percona8.0.15.spec \ + && mkdir -p /root/output \ + && cp rpmbuild/RPMS/aarch64/percona-8.0.15-6.el7.aarch64.rpm output/. diff --git a/DBMS/CentOS7.6.1810/percona/8.0.15/percona8.0.15.spec b/DBMS/CentOS7.6.1810/percona/8.0.15/percona8.0.15.spec new file mode 100644 index 0000000..9c585bf --- /dev/null +++ b/DBMS/CentOS7.6.1810/percona/8.0.15/percona8.0.15.spec @@ -0,0 +1,110 @@ +Name: percona +Version: 8.0.15 +Release: 6%{?dist} + +Group: applications/database +License: Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Under GPLv2 license as shown in the Description field. +URL: http://www.percona.com +Source: %{name}-server-%{version}-6.tar.gz + +Autoreq: no +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +prefix: /usr/local/percona +Summary: A very fast and reliable SQL database server + +%description + +%define MYSQL_USER mysql +%define MYSQL_GROUP mysql +%define __os_install_post %{nil} +%define __debug_install_post \ +%{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}" \ +%{nil} + +%prep +%setup -q -n percona-%{version} %setup -q -n %{name}-server-%{version}-6 + +%build +tar zxf %{_sourcedir}/boost_1_68_0.tar.gz +cmake . \ +-DCMAKE_BUILD_TYPE=RelWithDebInfo \ +-DBUILD_CONFIG=mysql_release \ +-DFEATURE_SET=community \ +-DWITH_BOOST=./boost_1_68_0 \ +-DCMAKE_INSTALL_PREFIX=/usr/local/percona \ +-DMYSQL_DATADIR=/data/percona/data \ +-DSYSCONFDIR=/etc \ +-DWITHOUT_TOKUDB=1 \ +-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ +-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ +-DWITH_SSL=system \ +-DWITH_ZLIB=system \ +-DWITH_LOBWRAP=0 \ +-DMYSQL_UNIX_ADDR=/data/percona/run/mysql.sock \ +-DDEFAULT_CHARSET=utf8 \ +-DDEFAULT_COLLATION=utf8_general_ci \ +-DFORCE_INSOURCE_BUILD=1 + +make -j `cat /proc/cpuinfo | grep processor | wc -l` + +%install +make -j `cat /proc/cpuinfo | grep processor | wc -l` DESTDIR=$RPM_BUILD_ROOT install +cp %{_sourcedir}/libatomic.so.1 $RPM_BUILD_ROOT%{prefix}/lib +cp %{_sourcedir}/libstdc++.so.6.0.24 $RPM_BUILD_ROOT%{prefix}/lib + +%clean +rm -rf $RPM_BUILD_ROOT +rm -rf $RPM_BUILD_DIR/* + +%files +%defattr(-, %{MYSQL_USER}, %{MYSQL_GROUP}) +%attr(755, %{MYSQL_USER}, %{MYSQL_GROUP}) %{prefix}/* + +%pre +if ! id %{MYSQL_USER} > /dev/null 2>&1;then + groupadd %{MYSQL_GROUP} + useradd -g %{MYSQL_GROUP} %{MYSQL_USER} +fi + +%post +if [ -f %{prefix}/support-files/mysql.server > /dev/null 2>&1 ] && [ ! -f %{_initddir}/mysql > /dev/null 2>&1 ];then + cp %{prefix}/support-files/mysql.server %{_initddir}/percona + chmod +x %{_initddir}/percona + chkconfig --level 2345 percona on +fi +if [ ! -f /usr/lib64/libatomic.so.1 ];then + cp -f /usr/local/percona/lib/libatomic.so.1 /usr/lib64/ +else + ver1=`ls -l /usr/lib64/libatomic.so.1|awk -F'.' '{print ""$6"."$7"."$8""}'` + ver11=`echo -e "${ver1}\n1.1.99"|sort -V|tail -1` + if [ "${ver11}" = "1.1.99" ];then + cp -f /usr/local/percona/lib/libatomic.so.1 /usr/lib64/ + fi +fi +if [ ! -f /usr/lib64/libstdc++.so.6 ];then + cp -f /usr/local/percona/lib/libstdc++.so.6.0.24 /usr/lib64/ + ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6 +else + ver2=`ls -l /usr/lib64/libstdc++.so.6|awk -F'.' '{print ""$6"."$7"."$8""}'` + ver22=`echo -e "${ver2}\n6.0.23"|sort -V|tail -1` + if [ "${ver22}" = "6.0.23" ];then + cp -f /usr/local/percona/lib/libstdc++.so.6.0.24 /usr/lib64 + rm -f /usr/lib64/libstdc++.so.6 + ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6 + fi +fi + +%preun +if [ -f %{_sysconfdir}/my.cnf ];then + mv %{_sysconfdir}/my.cnf %{_sysconfdir}/my.cnf.rpmold +fi +if [ -f %{_initddir}/percona ];then + mv %{_initddir}/percona %{_initddir}/percona.rpmold +fi + +%postun +rm -rf %{prefix} +userdel -r {MYSQL_USER} >/dev/null 2>&1 + +%changelog + diff --git a/DBMS/CentOS7.6.1810/postgresql/11.3/CentOS-AltArch-7.repo b/DBMS/CentOS7.6.1810/postgresql/11.3/CentOS-AltArch-7.repo new file mode 100644 index 0000000..52e3a23 --- /dev/null +++ b/DBMS/CentOS7.6.1810/postgresql/11.3/CentOS-AltArch-7.repo @@ -0,0 +1,25 @@ +[base] +name=CentOS-7.6 - Base - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[updates] +name=CentOS-7.6 - Updates - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/updates/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[extras] +name=CentOS-7.6 - Extras - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/extras/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[centosplus] +name=CentOS-7.6 - Plus - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/centosplus/aarch64/ +gpgcheck=0 +enabled=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + diff --git a/DBMS/CentOS7.6.1810/Dockerfile-postgresql-11.3 b/DBMS/CentOS7.6.1810/postgresql/11.3/Dockerfile-postgresql-11.3 similarity index 73% rename from DBMS/CentOS7.6.1810/Dockerfile-postgresql-11.3 rename to DBMS/CentOS7.6.1810/postgresql/11.3/Dockerfile-postgresql-11.3 index 211bfd7..d0e240a 100644 --- a/DBMS/CentOS7.6.1810/Dockerfile-postgresql-11.3 +++ b/DBMS/CentOS7.6.1810/postgresql/11.3/Dockerfile-postgresql-11.3 @@ -13,7 +13,7 @@ RUN mv /etc/yum.repos.d /etc/yum.repos.d.bak \ COPY CentOS-AltArch-7.repo /etc/yum.repos.d/. RUN yum clean all \ && yum makecache \ - && yum -y install automake zlib zlib-devel bzip2 bzip2-devel bzip2-libs readline readline-devel gcc gcc-c++ make bison ncurses ncurses-devel libaio-devel gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel wget + && yum -y install automake zlib zlib-devel bzip2 bzip2-devel bzip2-libs readline readline-devel gcc gcc-c++ make bison ncurses ncurses-devel libaio-devel gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel wget unzip rpm-build # Update cmake and gcc to proper version WORKDIR /home @@ -34,9 +34,13 @@ RUN wget "https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz" \ # Get PgSQL source code, build and install RUN wget "https://ftp.postgresql.org/pub/source/v11.3/postgresql-11.3.tar.gz" \ - && tar -zxf postgresql-11.3.tar.gz \ - && cd postgresql-11.3/ \ - && ./configure -prefix=/usr/local/pgsql \ - && sed -i '/^CFLAGS = -Wall -Wmissing-prototypes/ s/$/ -march=armv8-a+crc+lse/' src/Makefile.global \ - && make -j$(eval ${COMPILE_THREAD}) \ - && make -j$(eval ${COMPILE_THREAD}) install + && mkdir -p /root/rpmbuild/{BUILD,SOURCES,SPECS,RPMS} \ + && mv postgresql-11.3.tar.gz /root/rpmbuild/SOURCES/. \ + && wget "https://mirrors.huaweicloud.com/kunpeng/archive/kunpeng_solution/database/patch/rpm-bug.zip" \ + && unzip rpm-bug.zip \ + && mv rpm-bug/* /root/rpmbuild/SOURCES/. +WORKDIR /root +COPY postgresql11.3.spec rpmbuild/SPECS/. +RUN rpmbuild -bb rpmbuild/SPECS/postgresql11.3.spec \ + && mkdir -p /root/output \ + && cp rpmbuild/RPMS/aarch64/postgresql-11.3-1.el7.aarch64.rpm output/. diff --git a/DBMS/CentOS7.6.1810/postgresql/11.3/postgresql11.3.spec b/DBMS/CentOS7.6.1810/postgresql/11.3/postgresql11.3.spec new file mode 100644 index 0000000..47f99e7 --- /dev/null +++ b/DBMS/CentOS7.6.1810/postgresql/11.3/postgresql11.3.spec @@ -0,0 +1,81 @@ +Name: postgresql +Version: 11.3 +Release: 1%{?dist} + +Group: applications/database +License: PostgreSQL +URL: http://www.postgresql.org +Source: %{name}-%{version}.tar.gz + +Autoreq: no +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +prefix: /usr/local/pgsql +Summary: The programs needed to create and run a PostgreSQL server + +%description + +%define PGSQL_USER postgres +%define PGSQL_GROUP postgres +%define __os_install_post %{nil} +%define __debug_install_post \ +%{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}" \ +%{nil} + +%prep +%setup -q -n %{name}-%{version} + +%build +./configure -prefix=%{prefix} + +make -j `cat /proc/cpuinfo | grep processor | wc -l` + +%install +make -j `cat /proc/cpuinfo | grep processor | wc -l` DESTDIR=$RPM_BUILD_ROOT install +cp %{_sourcedir}/libatomic.so.1 $RPM_BUILD_ROOT%{prefix}/lib +cp %{_sourcedir}/libstdc++.so.6.0.24 $RPM_BUILD_ROOT%{prefix}/lib + +%clean +rm -rf $RPM_BUILD_ROOT +rm -rf $RPM_BUILD_DIR/* + +%files +%defattr(-, %{PGSQL_USER}, %{PGSQL_GROUP}) +%attr(755, %{PGSQL_USER}, %{PGSQL_GROUP}) %{prefix}/* + +%pre +if ! id %{PGSQL_USER} > /dev/null 2>&1;then + groupadd %{PGSQL_GROUP} + useradd -g %{PGSQL_GROUP} %{PGSQL_USER} +fi + +%post +if [ ! -f /usr/lib64/libatomic.so.1 ];then + cp -f %{prefix}/lib/libatomic.so.1 /usr/lib64/ +else + ver1=`ls -l /usr/lib64/libatomic.so.1|awk -F'.' '{print ""$6"."$7"."$8""}'` + ver11=`echo -e "${ver1}\n1.1.99"|sort -V|tail -1` + if [ "${ver11}" = "1.1.99" ];then + cp -f %{prefix}/lib/libatomic.so.1 /usr/lib64/ + fi +fi +if [ ! -f /usr/lib64/libstdc++.so.6 ];then + cp -f %{prefix}/lib/libstdc++.so.6.0.24 /usr/lib64/ + ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6 +else + ver2=`ls -l /usr/lib64/libstdc++.so.6|awk -F'.' '{print ""$6"."$7"."$8""}'` + ver22=`echo -e "${ver2}\n6.0.23"|sort -V|tail -1` + if [ "${ver22}" = "6.0.23" ];then + cp -f %{prefix}/lib/libstdc++.so.6.0.24 /usr/lib64 + rm -f /usr/lib64/libstdc++.so.6 + ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6 + fi +fi + +%preun + +%postun +rm -rf %{prefix} +userdel -r {PGSQL_USER} >/dev/null 2>&1 + +%changelog + diff --git a/Web/CentOS7.6.1810/apache/2.4.46/CentOS-AltArch-7.repo b/Web/CentOS7.6.1810/apache/2.4.46/CentOS-AltArch-7.repo new file mode 100644 index 0000000..52e3a23 --- /dev/null +++ b/Web/CentOS7.6.1810/apache/2.4.46/CentOS-AltArch-7.repo @@ -0,0 +1,25 @@ +[base] +name=CentOS-7.6 - Base - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[updates] +name=CentOS-7.6 - Updates - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/updates/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[extras] +name=CentOS-7.6 - Extras - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/extras/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[centosplus] +name=CentOS-7.6 - Plus - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/centosplus/aarch64/ +gpgcheck=0 +enabled=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + diff --git a/Web/CentOS7.6.1810/Dockerfile-apache-2.4.46 b/Web/CentOS7.6.1810/apache/2.4.46/Dockerfile-apache-2.4.46 similarity index 100% rename from Web/CentOS7.6.1810/Dockerfile-apache-2.4.46 rename to Web/CentOS7.6.1810/apache/2.4.46/Dockerfile-apache-2.4.46 diff --git a/Web/CentOS7.6.1810/haproxy/1.9.0/CentOS-AltArch-7.repo b/Web/CentOS7.6.1810/haproxy/1.9.0/CentOS-AltArch-7.repo new file mode 100644 index 0000000..52e3a23 --- /dev/null +++ b/Web/CentOS7.6.1810/haproxy/1.9.0/CentOS-AltArch-7.repo @@ -0,0 +1,25 @@ +[base] +name=CentOS-7.6 - Base - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[updates] +name=CentOS-7.6 - Updates - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/updates/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[extras] +name=CentOS-7.6 - Extras - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/extras/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[centosplus] +name=CentOS-7.6 - Plus - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/centosplus/aarch64/ +gpgcheck=0 +enabled=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + diff --git a/Web/CentOS7.6.1810/Dockerfile-haproxy-1.9.0 b/Web/CentOS7.6.1810/haproxy/1.9.0/Dockerfile-haproxy-1.9.0 similarity index 100% rename from Web/CentOS7.6.1810/Dockerfile-haproxy-1.9.0 rename to Web/CentOS7.6.1810/haproxy/1.9.0/Dockerfile-haproxy-1.9.0 diff --git a/Web/CentOS7.6.1810/lighttpd/1.4.53/CentOS-AltArch-7.repo b/Web/CentOS7.6.1810/lighttpd/1.4.53/CentOS-AltArch-7.repo new file mode 100644 index 0000000..52e3a23 --- /dev/null +++ b/Web/CentOS7.6.1810/lighttpd/1.4.53/CentOS-AltArch-7.repo @@ -0,0 +1,25 @@ +[base] +name=CentOS-7.6 - Base - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[updates] +name=CentOS-7.6 - Updates - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/updates/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[extras] +name=CentOS-7.6 - Extras - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/extras/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[centosplus] +name=CentOS-7.6 - Plus - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/centosplus/aarch64/ +gpgcheck=0 +enabled=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + diff --git a/Web/CentOS7.6.1810/Dockerfile-lighttpd-1.4.53 b/Web/CentOS7.6.1810/lighttpd/1.4.53/Dockerfile-lighttpd-1.4.53 similarity index 100% rename from Web/CentOS7.6.1810/Dockerfile-lighttpd-1.4.53 rename to Web/CentOS7.6.1810/lighttpd/1.4.53/Dockerfile-lighttpd-1.4.53 diff --git a/Web/CentOS7.6.1810/memcached/1.5.12/CentOS-AltArch-7.repo b/Web/CentOS7.6.1810/memcached/1.5.12/CentOS-AltArch-7.repo new file mode 100644 index 0000000..52e3a23 --- /dev/null +++ b/Web/CentOS7.6.1810/memcached/1.5.12/CentOS-AltArch-7.repo @@ -0,0 +1,25 @@ +[base] +name=CentOS-7.6 - Base - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[updates] +name=CentOS-7.6 - Updates - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/updates/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[extras] +name=CentOS-7.6 - Extras - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/extras/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[centosplus] +name=CentOS-7.6 - Plus - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/centosplus/aarch64/ +gpgcheck=0 +enabled=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + diff --git a/Web/CentOS7.6.1810/Dockerfile-memcached-1.5.12 b/Web/CentOS7.6.1810/memcached/1.5.12/Dockerfile-memcached-1.5.12 similarity index 100% rename from Web/CentOS7.6.1810/Dockerfile-memcached-1.5.12 rename to Web/CentOS7.6.1810/memcached/1.5.12/Dockerfile-memcached-1.5.12 diff --git a/Web/CentOS7.6.1810/nginx/1.14.2/CentOS-AltArch-7.repo b/Web/CentOS7.6.1810/nginx/1.14.2/CentOS-AltArch-7.repo new file mode 100644 index 0000000..52e3a23 --- /dev/null +++ b/Web/CentOS7.6.1810/nginx/1.14.2/CentOS-AltArch-7.repo @@ -0,0 +1,25 @@ +[base] +name=CentOS-7.6 - Base - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[updates] +name=CentOS-7.6 - Updates - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/updates/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[extras] +name=CentOS-7.6 - Extras - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/extras/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[centosplus] +name=CentOS-7.6 - Plus - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/centosplus/aarch64/ +gpgcheck=0 +enabled=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + diff --git a/Web/CentOS7.6.1810/Dockerfile-nginx-1.14.2 b/Web/CentOS7.6.1810/nginx/1.14.2/Dockerfile-nginx-1.14.2 similarity index 69% rename from Web/CentOS7.6.1810/Dockerfile-nginx-1.14.2 rename to Web/CentOS7.6.1810/nginx/1.14.2/Dockerfile-nginx-1.14.2 index 7aaa4d6..7e6de2f 100644 --- a/Web/CentOS7.6.1810/Dockerfile-nginx-1.14.2 +++ b/Web/CentOS7.6.1810/nginx/1.14.2/Dockerfile-nginx-1.14.2 @@ -1,9 +1,6 @@ # Starting from CentOS 7.6.1810 aarch64 FROM arm64v8/centos:1810 -# Expose default Web port -EXPOSE 80 - # Compile arg - automatic ARG COMPILE_THREAD="lscpu | grep ^CPU\(s\): | awk '{print \$2}'" @@ -13,7 +10,7 @@ RUN mv /etc/yum.repos.d /etc/yum.repos.d.bak \ COPY CentOS-AltArch-7.repo /etc/yum.repos.d/. RUN yum clean all \ && yum makecache \ - && yum -y install gcc gcc-c++ make libtool zlib zlib-devel pcre pcre-devel perl-devel perl-ExtUtils-Embed perl-WWW-Curl wget initscripts net-tools + && yum -y install gcc gcc-c++ make libtool zlib zlib-devel pcre pcre-devel perl-devel perl-ExtUtils-Embed perl-WWW-Curl wget initscripts net-tools rpm-build # Install OpenSSL WORKDIR /home @@ -31,9 +28,11 @@ RUN wget https://codeload.github.com/openssl/openssl/tar.gz/OpenSSL_1_1_1a --no- && openssl version # Install Nginx +WORKDIR /root RUN wget https://nginx.org/download/nginx-1.14.2.tar.gz --no-check-certificate \ - && tar -xf nginx-1.14.2.tar.gz \ - && cd nginx-1.14.2/ \ - && ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gzip_static_module --with-http_perl_module --with-pcre --with-openssl=/home/openssl-OpenSSL_1_1_1a \ - && make -j$(eval ${COMPILE_THREAD}) \ - && make -j$(eval ${COMPILE_THREAD}) install + && mkdir -p rpmbuild/{BUILD,SPECS,SOURCES,RPMS} \ + && mv nginx-1.14.2.tar.gz rpmbuild/SOURCES/. +COPY nginx1.14.2.spec rpmbuild/SPECS/. +RUN rpmbuild -bb rpmbuild/SPECS/nginx1.14.2.spec \ + && mkdir -p /root/output \ + && cp rpmbuild/RPMS/aarch64/nginx-1.14.2-1.el7_4.aarch64.rpm output/. diff --git a/Web/CentOS7.6.1810/nginx/1.14.2/nginx1.14.2.spec b/Web/CentOS7.6.1810/nginx/1.14.2/nginx1.14.2.spec new file mode 100644 index 0000000..02e81ef --- /dev/null +++ b/Web/CentOS7.6.1810/nginx/1.14.2/nginx1.14.2.spec @@ -0,0 +1,51 @@ +%define __debug_install_post %{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}"%{nil} +%define _topdir /root/rpmbuild +%define _prefix /usr/local/nginx +%define nginx_user nginx +%define nginx_group nginx +%define nginx_loggroup adm + +Summary: High performance web server +Name: nginx +Version: 1.14.2 +Release: 1%{?dist}_4 +Vendor: Nginx, Inc. +URL: http://nginx.org/ +Group: %{_group} + +Source: %name-%version.tar.gz +License: 2-clause BSD-like license +BuildRequires: perl, pcre-devel + +%description + +%prep +%setup -q + +%build +./configure --prefix=%{_prefix} --with-http_ssl_module --with-http_realip_module \ +--with-http_addition_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module \ +--with-http_gzip_static_module --with-http_perl_module --with-pcre --with-openssl=/home/openssl-OpenSSL_1_1_1a +make -j`cat /proc/cpuinfo | grep processor | wc -l` + +%install +make -j `cat /proc/cpuinfo | grep processor | wc -l` DESTDIR=$RPM_BUILD_ROOT install + +#mkdir -p $RPM_BUILD_ROOT/usr/lib64/perl5/ +#cp $RPM_BUILD_ROOT/root/perl5/lib/perl5/aarch64-linux-thread-multi/perllocal.pod $RPM_BUILD_ROOT/usr/lib64/perl5/ +#mkdir -p $RPM_BUILD_ROOT/usr/local/lib64/perl5/ +#cp -r $RPM_BUILD_ROOT/root/perl5/lib/perl5/aarch64-linux-thread-multi/* $RPM_BUILD_ROOT/usr/local/lib64/perl5/ +#mkdir -p $RPM_BUILD_ROOT/usr/local/share +#cp -r $RPM_BUILD_ROOT/root/perl5/man $RPM_BUILD_ROOT/usr/local/share/ + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-, root, root) +%{_prefix}/* +/usr/lib64/perl5/* +/usr/local/lib64/perl5/* +/usr/local/share/* + +%changelog diff --git a/Web/CentOS7.6.1810/openssl/1.1.1/CentOS-AltArch-7.repo b/Web/CentOS7.6.1810/openssl/1.1.1/CentOS-AltArch-7.repo new file mode 100644 index 0000000..52e3a23 --- /dev/null +++ b/Web/CentOS7.6.1810/openssl/1.1.1/CentOS-AltArch-7.repo @@ -0,0 +1,25 @@ +[base] +name=CentOS-7.6 - Base - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[updates] +name=CentOS-7.6 - Updates - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/updates/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[extras] +name=CentOS-7.6 - Extras - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/extras/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[centosplus] +name=CentOS-7.6 - Plus - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/centosplus/aarch64/ +gpgcheck=0 +enabled=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + diff --git a/Web/CentOS7.6.1810/openssl/1.1.1/Dockerfile-openssl-1.1.1a b/Web/CentOS7.6.1810/openssl/1.1.1/Dockerfile-openssl-1.1.1a new file mode 100644 index 0000000..3248b18 --- /dev/null +++ b/Web/CentOS7.6.1810/openssl/1.1.1/Dockerfile-openssl-1.1.1a @@ -0,0 +1,23 @@ +# Starting from CentOS 7.6.1810 aarch64 +FROM arm64v8/centos:1810 + +# Install required packages from yum, use Huawei Cloud Mirror +RUN mv /etc/yum.repos.d /etc/yum.repos.d.bak \ + && mkdir /etc/yum.repos.d +COPY CentOS-AltArch-7.repo /etc/yum.repos.d/. +RUN yum clean all \ + && yum makecache \ + && yum -y install gcc gcc-c++ make libtool zlib zlib-devel pcre pcre-devel perl-devel perl-ExtUtils-Embed perl-WWW-Curl wget initscripts net-tools rpm-build + +# Install OpenSSL +WORKDIR /root +RUN wget https://codeload.github.com/openssl/openssl/tar.gz/OpenSSL_1_1_1a --no-check-certificate \ + && mv OpenSSL_1_1_1a openssl-OpenSSL_1_1_1a.tar.gz \ + && mkdir -p rpmbuild/{BUILD,RPMS,SPECS,SOURCES} +COPY openssl1.1.1a.spec rpmbuild/SPECS/. +RUN mv openssl-OpenSSL_1_1_1a.tar.gz rpmbuild/SOURCES/. \ + && rpmbuild -bb rpmbuild/SPECS/openssl1.1.1a.spec \ + && mkdir -p /root/output \ + && cp rpmbuild/RPMS/aarch64/openssl-1.1.1a-3.el7.aarch64.rpm output/. \ + && cp rpmbuild/RPMS/aarch64/openssl-devel-1.1.1a-3.el7.aarch64.rpm output/. \ + && cp rpmbuild/RPMS/aarch64/openssl-libs-1.1.1a-3.el7.aarch64.rpm output/. diff --git a/Web/CentOS7.6.1810/openssl/1.1.1/openssl1.1.1a.spec b/Web/CentOS7.6.1810/openssl/1.1.1/openssl1.1.1a.spec new file mode 100644 index 0000000..1a0b6d1 --- /dev/null +++ b/Web/CentOS7.6.1810/openssl/1.1.1/openssl1.1.1a.spec @@ -0,0 +1,73 @@ +%define __debug_install_post %{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}"%{nil} +%define _prefix /usr/local +%define _libdir %{_prefix}/lib +%define soversion 1.1 + +%global _performance_build 1 + +BuildArch: aarch64 +Name: openssl +Version: 1.1.1a +Release: 3%{?dist} + +Source: openssl-OpenSSL_1_1_1a.tar.gz +License: OpenSSL +Group: System Environment/Libraries +URL: http://www.openssl.org/ +SUmmary: Utilities from the general purpose cryptography library with TLS implementation +BuildRequires: gcc +AutoReq: no + +%description + +%package libs +Summary: A general purpose cryptography library with TLS implementation +Group: System Environment/Libraries + +%description libs + +%package devel +SUmmary: Files for development of applications which will use OpenSSL +Group: Development/Libraries + +%description devel + +%prep +%setup -q -n openssl-OpenSSL_1_1_1a + +%build +./config --prefix=%{_prefix} -Wl,-rpath,%{_libdir} + +make -j `cat /proc/cpuinfo | grep processor | wc -l` all + +%install +install -d $RPM_BUILD_ROOT{%{_bindir},%{_includedir},%{_libdir},%{_mandir},%{_libdir}/openssl,%{_pkgdocdir}} +make -j `cat /proc/cpuinfo | grep processor | wc -l` DESTDIR=$RPM_BUILD_ROOT install + +%files +%{!?_licensedir:%global license %%doc} +%license LICENSE +%doc FAQ NEWS README README.FIPS +%{_bindir}/* +%{_mandir}/man1*/* +%{_mandir}/man5*/* +%{_mandir}/man7*/* +%exclude %{_mandir}/man1*/*.pl* +%exclude %{_mandir}/man1*/c_rehash* +%exclude %{_mandir}/man1*/tsget* +%exclude %{_mandir}/man1*/openssl-tsget* + +%files libs +%{!?_licensedir:%global license %%doc} +%license LICENSE +%{_libdir}/* + +%files devel +%doc CHANGES doc/dir-locals.example.el doc/openssl-c-indent.el +%{_prefix}/include/openssl +%{_prefix}/ssl/* +%{_mandir}/man3*/* +%{_prefix}/share/doc/openssl/html/* + +%changelog + diff --git a/Web/CentOS7.6.1810/squid/4.8/CentOS-AltArch-7.repo b/Web/CentOS7.6.1810/squid/4.8/CentOS-AltArch-7.repo new file mode 100644 index 0000000..52e3a23 --- /dev/null +++ b/Web/CentOS7.6.1810/squid/4.8/CentOS-AltArch-7.repo @@ -0,0 +1,25 @@ +[base] +name=CentOS-7.6 - Base - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[updates] +name=CentOS-7.6 - Updates - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/updates/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[extras] +name=CentOS-7.6 - Extras - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/extras/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[centosplus] +name=CentOS-7.6 - Plus - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/centosplus/aarch64/ +gpgcheck=0 +enabled=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + diff --git a/Web/CentOS7.6.1810/Dockerfile-squid-4.8 b/Web/CentOS7.6.1810/squid/4.8/Dockerfile-squid-4.8 similarity index 100% rename from Web/CentOS7.6.1810/Dockerfile-squid-4.8 rename to Web/CentOS7.6.1810/squid/4.8/Dockerfile-squid-4.8 diff --git a/Web/CentOS7.6.1810/tengine/2.2.2/CentOS-AltArch-7.repo b/Web/CentOS7.6.1810/tengine/2.2.2/CentOS-AltArch-7.repo new file mode 100644 index 0000000..52e3a23 --- /dev/null +++ b/Web/CentOS7.6.1810/tengine/2.2.2/CentOS-AltArch-7.repo @@ -0,0 +1,25 @@ +[base] +name=CentOS-7.6 - Base - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[updates] +name=CentOS-7.6 - Updates - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/updates/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[extras] +name=CentOS-7.6 - Extras - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/extras/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[centosplus] +name=CentOS-7.6 - Plus - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/centosplus/aarch64/ +gpgcheck=0 +enabled=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + diff --git a/Web/CentOS7.6.1810/Dockerfile-tengine-2.2.2 b/Web/CentOS7.6.1810/tengine/2.2.2/Dockerfile-tengine-2.2.2 similarity index 100% rename from Web/CentOS7.6.1810/Dockerfile-tengine-2.2.2 rename to Web/CentOS7.6.1810/tengine/2.2.2/Dockerfile-tengine-2.2.2 diff --git a/Web/CentOS7.6.1810/openssl.cnf b/Web/CentOS7.6.1810/tengine/2.2.2/openssl.cnf similarity index 100% rename from Web/CentOS7.6.1810/openssl.cnf rename to Web/CentOS7.6.1810/tengine/2.2.2/openssl.cnf diff --git a/Web/CentOS7.6.1810/varnish/6.2.0/CentOS-AltArch-7.repo b/Web/CentOS7.6.1810/varnish/6.2.0/CentOS-AltArch-7.repo new file mode 100644 index 0000000..52e3a23 --- /dev/null +++ b/Web/CentOS7.6.1810/varnish/6.2.0/CentOS-AltArch-7.repo @@ -0,0 +1,25 @@ +[base] +name=CentOS-7.6 - Base - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[updates] +name=CentOS-7.6 - Updates - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/updates/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[extras] +name=CentOS-7.6 - Extras - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/extras/aarch64/ +gpgcheck=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + +[centosplus] +name=CentOS-7.6 - Plus - mirrors.huaweicloud.com +baseurl=https://mirrors.huaweicloud.com/centos-altarch/7/centosplus/aarch64/ +gpgcheck=0 +enabled=0 +gpgkey=https://mirrors.huaweicloud.com/centos-altarch/7/os/aarch64/RPM-GPG-KEY-CentOS-7-$basearch + diff --git a/Web/CentOS7.6.1810/Dockerfile-varnish-6.2.0 b/Web/CentOS7.6.1810/varnish/6.2.0/Dockerfile-varnish-6.2.0 similarity index 100% rename from Web/CentOS7.6.1810/Dockerfile-varnish-6.2.0 rename to Web/CentOS7.6.1810/varnish/6.2.0/Dockerfile-varnish-6.2.0 -- Gitee From 9e21bbec003f738b88ab7dae8e2cbbb93d6b6d7b Mon Sep 17 00:00:00 2001 From: XZhouQD Date: Thu, 26 Nov 2020 14:38:52 +0800 Subject: [PATCH 2/9] Apache2(httpd) rpm output --- .../apache/2.4.46/Dockerfile-apache-2.4.46 | 22 +++----- .../apache/2.4.46/apache2.4.46.spec | 55 +++++++++++++++++++ 2 files changed, 64 insertions(+), 13 deletions(-) create mode 100644 Web/CentOS7.6.1810/apache/2.4.46/apache2.4.46.spec diff --git a/Web/CentOS7.6.1810/apache/2.4.46/Dockerfile-apache-2.4.46 b/Web/CentOS7.6.1810/apache/2.4.46/Dockerfile-apache-2.4.46 index aac88a2..3570368 100644 --- a/Web/CentOS7.6.1810/apache/2.4.46/Dockerfile-apache-2.4.46 +++ b/Web/CentOS7.6.1810/apache/2.4.46/Dockerfile-apache-2.4.46 @@ -1,25 +1,21 @@ # Starting from CentOS 7.6.1810 aarch64 FROM arm64v8/centos:1810 -# Expose default Web port -EXPOSE 80 - -# Compile arg - automatic -ARG COMPILE_THREAD="lscpu | grep ^CPU\(s\): | awk '{print \$2}'" - # Install required packages from yum, use Huawei Cloud Mirror RUN mv /etc/yum.repos.d /etc/yum.repos.d.bak \ && mkdir /etc/yum.repos.d COPY CentOS-AltArch-7.repo /etc/yum.repos.d/. RUN yum clean all \ && yum makecache \ - && yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre* apr* wget initscripts net-tools bzip2 + && yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre* apr* wget initscripts net-tools bzip2 rpm-build # Get and install Apache -WORKDIR /home +WORKDIR /root RUN wget https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.46.tar.bz2 --no-check-certificate \ - && tar -xf httpd-2.4.46.tar.bz2 \ - && cd httpd-2.4.46/ \ - && ./configure --build=arm --prefix=/usr/local/apache2 --enable-so --with-mpm=worker \ - && make -j$(eval ${COMPILE_THREAD}) \ - && make -j$(eval ${COMPILE_THREAD}) install + && mkdir -p rpmbuild/{BUILD,SPECS,SOURCES,RPMS} \ + && mv httpd-2.4.46.tar.bz2 rpmbuild/SOURCES/. +COPY apache2.4.46.spec rpmbuild/SPECS/. +RUN rpmbuild -bb rpmbuild/SPECS/apache2.4.46.spec \ + && mkdir -p /root/output \ + && cp rpmbuild/RPMS/aarch64/httpd-2.4.46-1.el7.aarch64.rpm /root/output/. + diff --git a/Web/CentOS7.6.1810/apache/2.4.46/apache2.4.46.spec b/Web/CentOS7.6.1810/apache/2.4.46/apache2.4.46.spec new file mode 100644 index 0000000..6d5e8a1 --- /dev/null +++ b/Web/CentOS7.6.1810/apache/2.4.46/apache2.4.46.spec @@ -0,0 +1,55 @@ +%define __debug_install_post %{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}"%{nil} +%define _topdir /root/rpmbuild +%define _prefix /usr/local/apache2 + +Name: httpd +Version: 2.4.46 +Release: 1%{?dist} +Summary: Apache HTTP Server + +License: ASL 2.0 +URL: https://httpd.apache.org/ +Source0: httpd-2.4.46.tar.bz2 + +BuildRequires: gcc, autoconf, pkgconfig + +%description + +%prep +%setup -q + +%build +./configure --build=arm --prefix=%{_prefix} --enable-so --with-mpm=worker +make -j `cat /proc/cpuinfo | grep processor | wc -l` + +%install +rm -rf $RPM_BUILD_ROOT +make -j `cat /proc/cpuinfo | grep processor | wc -l` install DESTDIR=$RPM_BUILD_ROOT + +%files +%doc ABOUT_APACHE README CHANGES LICENSE VERSIONING NOTICE +%doc docs/conf/extra/*.conf + +%{_bindir}/* + +%{_prefix}/conf/* +%{_prefix}/build/* +%{_prefix}/cgi-bin/* +%{_prefix}/htdocs/* +%{_prefix}/include/* +%{_prefix}/logs +%{_prefix}/manual/* + +%{_prefix}/modules + +%dir %{_prefix}/error +%dir %{_prefix}/error/include +%{_prefix}/icons/* +%{_prefix}/error/README +%{_prefix}/error/*.var +%{_prefix}/error/include/*.html + +%{_prefix}/man/* + +%changelog + -- Gitee From 218af2f96181f7b78c23bf04abed73739009289f Mon Sep 17 00:00:00 2001 From: XZhouQD Date: Thu, 26 Nov 2020 14:57:09 +0800 Subject: [PATCH 3/9] haproxy RPM output --- .../haproxy/1.9.0/Dockerfile-haproxy-1.9.0 | 22 ++---- .../haproxy/1.9.0/haproxy1.9.0.spec | 77 +++++++++++++++++++ 2 files changed, 85 insertions(+), 14 deletions(-) create mode 100644 Web/CentOS7.6.1810/haproxy/1.9.0/haproxy1.9.0.spec diff --git a/Web/CentOS7.6.1810/haproxy/1.9.0/Dockerfile-haproxy-1.9.0 b/Web/CentOS7.6.1810/haproxy/1.9.0/Dockerfile-haproxy-1.9.0 index 32920ce..12eb350 100644 --- a/Web/CentOS7.6.1810/haproxy/1.9.0/Dockerfile-haproxy-1.9.0 +++ b/Web/CentOS7.6.1810/haproxy/1.9.0/Dockerfile-haproxy-1.9.0 @@ -1,26 +1,20 @@ # Starting from CentOS 7.6.1810 aarch64 FROM arm64v8/centos:1810 -# Expose default Web port -EXPOSE 80 - -# Compile thread - automatic -ARG COMPILE_THREAD="lscpu | grep ^CPU\(s\): | awk '{print \$2}'" - # Install required packages from yum, use Huawei Cloud Mirror RUN mv /etc/yum.repos.d /etc/yum.repos.d.bak \ && mkdir /etc/yum.repos.d COPY CentOS-AltArch-7.repo /etc/yum.repos.d/. RUN yum clean all \ && yum makecache \ - && yum -y install wget make gcc + && yum -y install wget make gcc rpm-build # Get and install HAProxy -WORKDIR /home +WORKDIR /root RUN wget https://www.haproxy.org/download/1.9/src/haproxy-1.9.0.tar.gz --no-check-certificate \ - && tar -zxf haproxy-1.9.0.tar.gz \ - && cd haproxy-1.9.0/ \ - && make -j$(eval ${COMPILE_THREAD}) TARGET=linux41 \ - && make -j$(eval ${COMPILE_THREAD}) install PREFIX=/usr/local/haproxy/ \ - && mkdir -p /usr/local/haproxy/conf \ - && cp examples/*.cfg /usr/local/haproxy/conf/. + && mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS} \ + && mv haproxy-1.9.0.tar.gz rpmbuild/SOURCES/. +COPY haproxy1.9.0.spec rpmbuild/SPECS/. +RUN rpmbuild -bb rpmbuild/SPECS/haproxy1.9.0.spec \ + && mkdir -p /root/output \ + && cp rpmbuild/RPMS/aarch64/haproxy-1.9.0-1.el7.aarch64.rpm output/. diff --git a/Web/CentOS7.6.1810/haproxy/1.9.0/haproxy1.9.0.spec b/Web/CentOS7.6.1810/haproxy/1.9.0/haproxy1.9.0.spec new file mode 100644 index 0000000..55dd1c9 --- /dev/null +++ b/Web/CentOS7.6.1810/haproxy/1.9.0/haproxy1.9.0.spec @@ -0,0 +1,77 @@ +%define __debug_install_post %{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}"%{nil} +%define _topdir /root/rpmbuild +%define haproxy_user haproxy +%define haproxy_group %{haproxy_user} +%define _prefix /usr/local/haproxy +%define haproxy_homedir %{_localstatedir}/lib/haproxy +%define haproxy_confdir %{_sysconfdir}/haproxy +%define haproxy_datadir %{_datadir}/haproxy + +%global _hardeded_build 1 + +Name: haproxy +Version: 1.9.0 +Release: 1%{?dist} +Summary: HAProxy reverseproxy for high availability environments + +Group: System Environment/Daemons +License: GPLv2+ +URL: http://www.haproxy.org/ +Source0: %{name}-%{version}.tar.gz + +BuildRequires: gcc + +%description + +%prep +%setup -q + +%build +make -j `cat /proc/cpuinfo | grep processor | wc -l` TARGET=linux41 + + +%install +make -j `cat /proc/cpuinfo | grep processor | wc -l` install DESTDIR=%{buildroot} PREFIX=%{_prefix} + +for httpfile in $(find ./examples/errorfiles/ -type f) +do + %{__install} -p -m 0644 $httpfile %{buildroot}%{haproxy_datadir} +done + +rm -rf ./examples/errorfiles/ + +find ./examples/* -type f ! -name "*.cfg" -exec %{__rm} -f "{}" \; + +for textfile in $(find ./ -type f -name '*.txt') +do + %{__mv} $textfile $textfile.old + iconv --from-code ISO8859-1 --to-code UTF-8 --output $textfile $textfile.old + %{__rm} -f $textfile.old +done + +mkdir $RPM_BUILD_ROOT%{_prefix}/conf/ +cp ./examples/*.cfg $RPM_BUILD_ROOT%{_prefix}/conf + +%pre +getent group %{haproxy_group} >/dev/null || \ + groupadd -r %{haproxy_group} +getent passwd %{haproxy_user} >/dev/null || \ + useradd -r -g %{haproxy_user} -d %{haproxy_homedir} \ + -s /sbin/nologin -c "haproxy" %{haproxy_user} +exit 00 + +%post +%systemd_post %{name}.service + +%preun +%systemd_preun %{name}.service + +%postun +%systemd_postun_with_restart %{name}.service + +%files +%defattr(-, root, root) +%{_prefix}/* + +%changelog + -- Gitee From 22017488bec9cdcad7c17769212c13e4d0b51594 Mon Sep 17 00:00:00 2001 From: XZhouQD Date: Thu, 26 Nov 2020 15:13:46 +0800 Subject: [PATCH 4/9] lighttpd rpm output --- .../1.4.53/Dockerfile-lighttpd-1.4.53 | 26 ++++------- .../lighttpd/1.4.53/lighttpd1.4.53.spec | 45 +++++++++++++++++++ 2 files changed, 53 insertions(+), 18 deletions(-) create mode 100644 Web/CentOS7.6.1810/lighttpd/1.4.53/lighttpd1.4.53.spec diff --git a/Web/CentOS7.6.1810/lighttpd/1.4.53/Dockerfile-lighttpd-1.4.53 b/Web/CentOS7.6.1810/lighttpd/1.4.53/Dockerfile-lighttpd-1.4.53 index fd3b576..6f87df6 100644 --- a/Web/CentOS7.6.1810/lighttpd/1.4.53/Dockerfile-lighttpd-1.4.53 +++ b/Web/CentOS7.6.1810/lighttpd/1.4.53/Dockerfile-lighttpd-1.4.53 @@ -1,30 +1,20 @@ # Starting from CentOS 7.6.1810 aarch64 FROM arm64v8/centos:1810 -# Expose default Web port -EXPOSE 80 - -# Compile arg - automatic -ARG COMPILE_THREAD="lscpu | grep ^CPU\(s\): | awk '{print \$2}'" - # Install required packages from yum, use Huawei Cloud Mirror RUN mv /etc/yum.repos.d /etc/yum.repos.d.bak \ && mkdir /etc/yum.repos.d COPY CentOS-AltArch-7.repo /etc/yum.repos.d/. RUN yum clean all \ && yum makecache \ - && yum -y install make gcc gcc-c++ glib2-devel pcre-devel bzip2-devel zlib-devel gamin-devel wget + && yum -y install make gcc gcc-c++ glib2-devel pcre-devel bzip2-devel zlib-devel gamin-devel wget rpm-build # Get and install Lighttpd -WORKDIR /home +WORKDIR /root RUN wget https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.53.tar.gz --no-check-certificate \ - && tar -zxf lighttpd-1.4.53.tar.gz \ - && cd lighttpd-1.4.53/ \ - && ./configure --prefix=/usr/local/lighttpd --with-fam --disable-dependency-tracking \ - && make -j$(eval ${COMPILE_THREAD}) \ - && make -j$(eval ${COMPILE_THREAD}) install \ - && cd /usr/local/lighttpd/ \ - && mkdir log webpages cache config \ - && cp /home/lighttpd-1.4.53/doc/config/lighttpd.conf config/. \ - && cp /home/lighttpd-1.4.53/doc/config/modules.conf config/. \ - && cp -r /home/lighttpd-1.4.53/doc/config/conf.d config/ + && mkdir -p rpmbuild/{BUILD,SPECS,SOURCES,RPMS} \ + && mv lighttpd-1.4.53.tar.gz rpmbuild/SOURCES/. +COPY lighttpd1.4.53.spec rpmbuild/SPECS/. +RUN rpmbuild -bb rpmbuild/SPECS/lighttpd1.4.53.spec \ + && mkdir -p /root/output \ + && cp rpmbuild/RPMS/aarch64/lighttpd-1.4.53-el7.aarch64.rpm /root/output/. diff --git a/Web/CentOS7.6.1810/lighttpd/1.4.53/lighttpd1.4.53.spec b/Web/CentOS7.6.1810/lighttpd/1.4.53/lighttpd1.4.53.spec new file mode 100644 index 0000000..9719e26 --- /dev/null +++ b/Web/CentOS7.6.1810/lighttpd/1.4.53/lighttpd1.4.53.spec @@ -0,0 +1,45 @@ +%define __debuf_install_post %{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}"%{nil} +%define _topdir /root/rpmbuild +%define _prefix /usr/local/lighttpd + +Name: lighttpd +Version: 1.4.53 +Release: el7 +Summary: A fast webserver with minimal memory-footprint (lighttpd) + +Group: Networking/Daemons +License: BSD +URL: https://download.lighttpd.net/lighttpd/releases-1.4.0 +Source: %name-%version.tar.gz + +%description + +%prep +%setup -q + +%build +./configure --prefix=%{_prefix} --with-fam +make -j `cat /proc/cpuinfo | grep processor | wc -l` + +%install +rm -rf %{buildroot} +make -j `cat /proc/cpuinfo | grep processor | wc -l` install DESTDIR=%{buildroot} + +mkdir $RPM_BUILD_ROOT%{_prefix}/log +mkdir $RPM_BUILD_ROOT%{_prefix}/webpages +mkdir $RPM_BUILD_ROOT%{_prefix}/cache +mkdir $RPM_BUILD_ROOT%{_prefix}/config + +cp doc/config/lighttpd.conf $RPM_BUILD_ROOT%{_prefix}/config +cp doc/config/modules.conf $RPM_BUILD_ROOT%{_prefix}/config +cp -r doc/config/conf.d $RPM_BUILD_ROOT%{_prefix}/config + +%clean +rm -rf %{buildroot} + +%files +%defattr(-, root, root) +%{_prefix}/* + +%changelog + -- Gitee From bc614180a9527789ca34bcd6099e6dd7cfa5314c Mon Sep 17 00:00:00 2001 From: XZhouQD Date: Thu, 26 Nov 2020 15:27:53 +0800 Subject: [PATCH 5/9] memcached RPM output --- .../1.5.12/Dockerfile-memcached-1.5.12 | 28 +++++---------- .../memcached/1.5.12/memcached1.5.12.spec | 34 +++++++++++++++++++ 2 files changed, 42 insertions(+), 20 deletions(-) create mode 100644 Web/CentOS7.6.1810/memcached/1.5.12/memcached1.5.12.spec diff --git a/Web/CentOS7.6.1810/memcached/1.5.12/Dockerfile-memcached-1.5.12 b/Web/CentOS7.6.1810/memcached/1.5.12/Dockerfile-memcached-1.5.12 index d92aa6a..50f94a8 100644 --- a/Web/CentOS7.6.1810/memcached/1.5.12/Dockerfile-memcached-1.5.12 +++ b/Web/CentOS7.6.1810/memcached/1.5.12/Dockerfile-memcached-1.5.12 @@ -1,32 +1,20 @@ # Starting from CentOS 7.6.1810 aarch64 FROM arm64v8/centos:1810 -# Expose default Memcached port -EXPOSE 11211 - -# Environment variables - change these for version update -ENV MEMCACHED_FILE=1.5.12.zip MEMCACHED_DIRECTORY=memcached-1.5.12 - -# Compile arg - automatic -ARG COMPILE_THREAD="lscpu | grep ^CPU\(s\): | awk '{print \$2}'" - # Install required packages from yum, use Huawei Cloud Mirror RUN mv /etc/yum.repos.d /etc/yum.repos.d.bak \ && mkdir /etc/yum.repos.d COPY CentOS-AltArch-7.repo /etc/yum.repos.d/. RUN yum clean all \ && yum makecache \ - && yum -y install gcc gcc-c++ kernel-devel make automake unzip telnet libevent libevent-devel which wget + && yum -y install gcc gcc-c++ kernel-devel make automake unzip telnet libevent libevent-devel which wget rpm-build # Get and install Memcached -WORKDIR /home +WORKDIR /root RUN wget https://github.com/memcached/memcached/archive/1.5.12.zip --no-check-certificate \ - && unzip 1.5.12.zip \ - && cd memcached-1.5.12 \ - && sh autogen.sh \ - && ./configure --prefix=/opt/memcached \ - && make -j$(eval ${COMPILE_THREAD}) \ - && make -j$(eval ${COMPILE_THREAD}) install \ - && echo "export PATH=/opt/memcached/bin/:$PATH" >> /etc/profile -# Actually, source does not work in Dockerfile - it only works for one command line. Update ENV in Dockerfile instead. -ENV PATH=/opt/memcached/bin/:$PATH + && mkdir -p rpmbuild/{BUILD,SPECS,SOURCES,RPMS} \ + && mv 1.5.12.zip rpmbuild/SOURCES/memcached-1.5.12.zip +COPY memcached1.5.12.spec rpmbuild/SPECS/. +RUN rpmbuild -bb rpmbuild/SPECS/memcached1.5.12.spec \ + && mkdir -p /root/output \ + && cp rpmbuild/RPMS/aarch64/memcached-1.5.12-1.el7.aarch64.rpm output/. diff --git a/Web/CentOS7.6.1810/memcached/1.5.12/memcached1.5.12.spec b/Web/CentOS7.6.1810/memcached/1.5.12/memcached1.5.12.spec new file mode 100644 index 0000000..8c9dc85 --- /dev/null +++ b/Web/CentOS7.6.1810/memcached/1.5.12/memcached1.5.12.spec @@ -0,0 +1,34 @@ +%define __debuf_install_post %{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}"%{nil} +%define _topdir /root/rpmbuild +%define _prefix /opt/memcached + +Name: memcached +Version: 1.5.12 +Release: 1%{?dist} +Summary: Memcached 1.5.12 aarch64 for CentOS 7.6.1810 + +Group: Networking/Daemons +License: BSD +URL: https://memcached.org +Source: %name-%version.zip + +%description + +%prep +%setup -q + +%build +sh autogen.sh +./configure --prefix=%{_prefix} +make -j `cat /proc/cpuinfo | grep processor | wc -l` + +%install +rm -rf ${buildroot} +make -j `cat /proc/cpuinfo | grep processor | wc -l` install DESTDIR=%{buildroot} + +%files +%defattr(-, root, root) +%{_prefix}/* + +%changelog + -- Gitee From 81988145d24c4ec8a2e6fd5bb729b5fbfb85504c Mon Sep 17 00:00:00 2001 From: XZhouQD Date: Thu, 26 Nov 2020 15:56:20 +0800 Subject: [PATCH 6/9] squid rpm output --- .../squid/4.8/Dockerfile-squid-4.8 | 22 ++++------- Web/CentOS7.6.1810/squid/4.8/squid4.8.spec | 37 +++++++++++++++++++ 2 files changed, 45 insertions(+), 14 deletions(-) create mode 100644 Web/CentOS7.6.1810/squid/4.8/squid4.8.spec diff --git a/Web/CentOS7.6.1810/squid/4.8/Dockerfile-squid-4.8 b/Web/CentOS7.6.1810/squid/4.8/Dockerfile-squid-4.8 index 2d2ca91..3b160fd 100644 --- a/Web/CentOS7.6.1810/squid/4.8/Dockerfile-squid-4.8 +++ b/Web/CentOS7.6.1810/squid/4.8/Dockerfile-squid-4.8 @@ -1,26 +1,20 @@ # Starting from CentOS 7.6.1810 aarch64 FROM arm64v8/centos:1810 -# Expose default Squid port -EXPOSE 3128 - -# Compile arg - automatic -ARG COMPILE_THREAD="lscpu | grep ^CPU\(s\): | awk '{print \$2}'" - # Install required packages from yum, use Huawei Cloud Mirror RUN mv /etc/yum.repos.d /etc/yum.repos.d.bak \ && mkdir /etc/yum.repos.d COPY CentOS-AltArch-7.repo /etc/yum.repos.d/. RUN yum clean all \ && yum makecache \ - && yum -y install gcc gcc-c++ libxml2-devel libcap-devel libtool-ltdl-devel perl* wget + && yum -y install gcc gcc-c++ libxml2-devel libcap-devel libtool-ltdl-devel perl* wget rpm-build # Get and install Squid -WORKDIR /home +WORKDIR /root RUN wget http://www.squid-cache.org/Versions/v4/squid-4.8.tar.gz \ - && tar -zxf squid-4.8.tar.gz \ - && cd squid-4.8/ \ - && ./configure \ - && make -j$(eval ${COMPILE_THREAD}) \ - && make -j$(eval ${COMPILE_THREAD}) install \ - && chmod 777 /usr/local/squid/var/logs/ + && mkdir -p rpmbuild/{BUILD,SPECS,SOURCES,RPMS} \ + && mv squid-4.8.tar.gz rpmbuild/SOURCES/. +COPY squid4.8.spec rpmbuild/SPECS/. +RUN rpmbuild -bb rpmbuild/SPECS/squid4.8.spec \ + && mkdir -p /root/output \ + && cp rpmbuild/RPMS/aarch64/squid-4.8-1.el7.aarch64.rpm output/. diff --git a/Web/CentOS7.6.1810/squid/4.8/squid4.8.spec b/Web/CentOS7.6.1810/squid/4.8/squid4.8.spec new file mode 100644 index 0000000..b32df13 --- /dev/null +++ b/Web/CentOS7.6.1810/squid/4.8/squid4.8.spec @@ -0,0 +1,37 @@ +%define __debug_install_post %{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}"%{nil} +%define _topdir /root/rpmbuild +%define _prefix /usr/local/squid + +Name: squid +Version: 4.8 +Release: 1%{?dist} +Summary: caching proxy server + +License: GPL +URL: https://www.squid-cache.org/ +Epoch: 7 +Source0: %name-%version.tar.gz + +%description + +%prep +%setup -q + + +%build +./configure --prefix=%{_prefix} +make -j `cat /proc/cpuinfo | grep processor | wc -l` + +%install +rm -rf %{buildroot} +make -j `cat /proc/cpuinfo | grep processor | wc -l` install DESTDIR=%{buildroot} + +%clean +rm -rf %{buildroot} + +%files +%defattr(-, root, root) +%{_prefix}/* + +%changelog + -- Gitee From 676e44e76cbd76b5d61ba1a64dfb7c5784bc908d Mon Sep 17 00:00:00 2001 From: XZhouQD Date: Thu, 26 Nov 2020 16:33:49 +0800 Subject: [PATCH 7/9] tengine rpm output --- .../tengine/2.2.2/Dockerfile-tengine-2.2.2 | 21 ++++----- .../tengine/2.2.2/tengine2.2.2.spec | 44 +++++++++++++++++++ 2 files changed, 53 insertions(+), 12 deletions(-) create mode 100644 Web/CentOS7.6.1810/tengine/2.2.2/tengine2.2.2.spec diff --git a/Web/CentOS7.6.1810/tengine/2.2.2/Dockerfile-tengine-2.2.2 b/Web/CentOS7.6.1810/tengine/2.2.2/Dockerfile-tengine-2.2.2 index fa49dcf..3053bbd 100644 --- a/Web/CentOS7.6.1810/tengine/2.2.2/Dockerfile-tengine-2.2.2 +++ b/Web/CentOS7.6.1810/tengine/2.2.2/Dockerfile-tengine-2.2.2 @@ -1,9 +1,6 @@ # Starting from CentOS 7.6.1810 aarch64 FROM arm64v8/centos:1810 -# Expose default Web port -EXPOSE 80 - # Compile arg - automatic ARG COMPILE_THREAD="lscpu | grep ^CPU\(s\): | awk '{print \$2}'" @@ -13,7 +10,7 @@ RUN mv /etc/yum.repos.d /etc/yum.repos.d.bak \ COPY CentOS-AltArch-7.repo /etc/yum.repos.d/. RUN yum clean all \ && yum makecache \ - && yum -y install gcc gcc-c++ make libtool zlib zlib-devel pcre pcre-devel perl-devel perl-ExtUtils-Embed perl-WWW-Curl wget initscripts net-tools + && yum -y install gcc gcc-c++ make libtool zlib zlib-devel pcre pcre-devel perl-devel perl-ExtUtils-Embed perl-WWW-Curl wget initscripts net-tools rpm-build # Install OpenSSL WORKDIR /home @@ -28,14 +25,14 @@ RUN wget https://codeload.github.com/openssl/openssl/tar.gz/OpenSSL_1_1_1a --no- && ldconfig -v \ && echo export PATH=/usr/local/bin:\$PATH >> /etc/profile \ && source /etc/profile \ - && cd /usr/local/ssl \ - && mv openssl.cnf openssl.cnf.bak -COPY openssl.cnf /usr/local/ssl/. + && openssl version # Install Tengine +WORKDIR /root RUN wget https://tengine.taobao.org/download/tengine-2.2.2.tar.gz --no-check-certificate \ - && tar -xf tengine-2.2.2.tar.gz \ - && cd tengine-2.2.2 \ - && ./configure --prefix=/usr/local/tengine-nginx --with-http_ssl_module --with-openssl-async --with-cc-opt="-DNGX_SECURE_MEM -I/usr/local/include -Wno-error=deprecated-declarations" --with-ld-opt="-Wl,-rpath=/usr/local/lib -L/usr/local/lib" \ - && make -j$(eval ${COMPILE_THREAD}) \ - && make -j$(eval ${COMPILE_THREAD}) install + && mkdir -p rpmbuild/{BUILD,SPECS,SOURCES,RPMS} \ + && mv tengine-2.2.2.tar.gz rpmbuild/SOURCES/. +COPY tengine2.2.2.spec rpmbuild/SPECS/. +RUN rpmbuild -bb rpmbuild/SPECS/tengine2.2.2.spec \ + && mkdir -p /root/output \ + && cp rpmbuild/RPMS/aarch64/tengine-2.2.2-1.el7_4.aarch64.rpm output/. diff --git a/Web/CentOS7.6.1810/tengine/2.2.2/tengine2.2.2.spec b/Web/CentOS7.6.1810/tengine/2.2.2/tengine2.2.2.spec new file mode 100644 index 0000000..40bdf3f --- /dev/null +++ b/Web/CentOS7.6.1810/tengine/2.2.2/tengine2.2.2.spec @@ -0,0 +1,44 @@ +%define __debug_install_post %{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}"%{nil} +%define _topdir /root/rpmbuild +%define _prefix /usr/local/tengine-nginx +%define _OPENSSL_LIB_DIR /usr/local/lib + +%define nginx_user nginx +%define nginx_group nginx +%define nginx_loggroup adm + +Name: tengine +Version: 2.2.2 +Release: 1%{?dist}_4 +Summary: High performance web server + +Group: %{_group} +License: 2-clause BSD-like license +URL: http://nginx.org/ +Source0: %name-%version.tar.gz + +BuildRequires: pcre-devel,zlib-devel + +%description + +%prep +%setup -q + +%build +./configure --prefix=%{_prefix} --with-http_ssl_module --with-openssl-async --with-cc-opt="-DNGX_SECURE_MEM -I%{_OPENSSL_LIB_DIR}/include -Wno-error=deprecated-declarations" \ +--with-ld-opt="-Wl,-rpath=%{_OPENSSL_LIB_DIR} -L%{_OPENSSL_LIB_DIR}" +make -j `cat /proc/cpuinfo | grep processor | wc -l` + +%install +rm -rf %{buildroot} +make -j `cat /proc/cpuinfo | grep processor | wc -l` DESTDIR=%{buildroot} INSTALLDIRS=vendor install + +%clean +rm -rf %{buildroot} + +%files +%defattr(-, root, root) +%{_prefix}/* + +%changelog + -- Gitee From f9bfae34f6f80e1ba524f01b06fb15b57556f70e Mon Sep 17 00:00:00 2001 From: XZhouQD Date: Thu, 26 Nov 2020 19:01:50 +0800 Subject: [PATCH 8/9] varnish rpm output --- .../varnish/6.2.0/Dockerfile-varnish-6.2.0 | 27 ++++++------ .../varnish/6.2.0/varnish6.2.0.spec | 41 +++++++++++++++++++ 2 files changed, 54 insertions(+), 14 deletions(-) create mode 100644 Web/CentOS7.6.1810/varnish/6.2.0/varnish6.2.0.spec diff --git a/Web/CentOS7.6.1810/varnish/6.2.0/Dockerfile-varnish-6.2.0 b/Web/CentOS7.6.1810/varnish/6.2.0/Dockerfile-varnish-6.2.0 index f160dee..5039dd5 100644 --- a/Web/CentOS7.6.1810/varnish/6.2.0/Dockerfile-varnish-6.2.0 +++ b/Web/CentOS7.6.1810/varnish/6.2.0/Dockerfile-varnish-6.2.0 @@ -1,9 +1,6 @@ # Starting from CentOS 7.6.1810 aarch64 FROM arm64v8/centos:1810 -# Expose default Web port -EXPOSE 80 - # Compile arg - automatic ARG COMPILE_THREAD="lscpu | grep ^CPU\(s\): | awk '{print \$2}'" @@ -13,28 +10,30 @@ RUN mv /etc/yum.repos.d /etc/yum.repos.d.bak \ COPY CentOS-AltArch-7.repo /etc/yum.repos.d/. RUN yum clean all \ && yum makecache \ - && yum -y install make zlib-devel autoconf automake jemalloc-devel libedit-devel libtool ncurses-devel pcre-devel pkgconfig python-docutils python-sphinx graphviz httpd wget + && yum -y install make zlib-devel autoconf automake jemalloc-devel libedit-devel libtool ncurses-devel pcre-devel pkgconfig python-docutils python-sphinx graphviz httpd wget rpm-build # Get and Install Python 3.6 WORKDIR /home RUN wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz --no-check-certificate \ && mkdir /usr/local/python3 \ + && sed -i '2 iexit 0' /usr/lib/rpm/brp-python-bytecompile \ && tar -zxf Python-3.6.0.tgz \ && cd Python-3.6.0 \ && ./configure --prefix=/usr/local/python3 \ && make -j$(eval ${COMPILE_THREAD}) \ && make -j$(eval ${COMPILE_THREAD}) install \ - && echo export PATH=$PATH:/usr/local/python3/bin >> /etc/profile + && echo export PATH=$PATH:/usr/local/python3/bin >> /etc/profile ENV PATH=$PATH:/usr/local/python3/bin # Get and install Varnish +WORKDIR /root RUN wget https://varnish-cache.org/_downloads/varnish-6.2.0.tgz --no-check-certificate \ - && tar -zxf varnish-6.2.0.tgz \ - && cd varnish-6.2.0/ \ - && sh autogen.sh \ - && ./configure --prefix=/usr/local/varnish \ - && make -j$(eval ${COMPILE_THREAD}) \ - && make -j$(eval ${COMPILE_THREAD}) install \ - && cd /usr/local/varnish \ - && mkdir config \ - && cp share/doc/varnish/example.vcl config/default.vcl + && mkdir -p rpmbuild/{BUILD,SPECS,SOURCES,RPMS} \ + && mv varnish-6.2.0.tgz rpmbuild/SOURCES/. \ + && sed -i '/check_files/d' /usr/lib/rpm/macros \ + && sed -i '/unpackaged_files_terminate_build/d' /usr/lib/rpm/macros +COPY varnish6.2.0.spec rpmbuild/SPECS/. +RUN rpmbuild -bb rpmbuild/SPECS/varnish6.2.0.spec \ + && mkdir -p /root/output \ + && cp rpmbuild/RPMS/aarch64/varnish-6.2.0-1.el7.aarch64.rpm output/. + diff --git a/Web/CentOS7.6.1810/varnish/6.2.0/varnish6.2.0.spec b/Web/CentOS7.6.1810/varnish/6.2.0/varnish6.2.0.spec new file mode 100644 index 0000000..efe1754 --- /dev/null +++ b/Web/CentOS7.6.1810/varnish/6.2.0/varnish6.2.0.spec @@ -0,0 +1,41 @@ +%define __debug_install_post %{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}"%{nil} +%define _topdir /root/rpmbuild +%define _prefix /usr/local/varnish + +Name: varnish +Version: 6.2.0 +Release: 1%{?dist} +Summary: reverse proxy server + +License: BSD +URL: http://varnish-cache.org/ +Source0: %name-%version.tgz + +BuildRequires: gcc + +%description + +%prep +%setup -q + +%build +sh autogen.sh +./configure --prefix=%{_prefix} +make -j `cat /proc/cpuinfo | grep processor | wc -l` + +%install +rm -rf $RPM_BUILD_ROOT +make -j `cat /proc/cpuinfo | grep processor | wc -l` install DESTDIR=%{buildroot} + +mkdir $RPM_BUILD_ROOT%{_prefix}/config +cp $RPM_BUILD_ROOT%{_prefix}/share/doc/varnish/example.vcl $RPM_BUILD_ROOT%{_prefix}/config/default.vcl + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-, root, root) +%{_prefix}/* + +%changelog + -- Gitee From 82fecbd75488a55620e367d43e105d5478dcaad9 Mon Sep 17 00:00:00 2001 From: XZhouQD Date: Thu, 26 Nov 2020 19:12:21 +0800 Subject: [PATCH 9/9] fix nginx lack of perl bug - due to environment --- .../nginx/1.14.2/Dockerfile-nginx-1.14.2 | 2 ++ Web/CentOS7.6.1810/nginx/1.14.2/nginx1.14.2.spec | 13 +++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Web/CentOS7.6.1810/nginx/1.14.2/Dockerfile-nginx-1.14.2 b/Web/CentOS7.6.1810/nginx/1.14.2/Dockerfile-nginx-1.14.2 index 7e6de2f..4b91297 100644 --- a/Web/CentOS7.6.1810/nginx/1.14.2/Dockerfile-nginx-1.14.2 +++ b/Web/CentOS7.6.1810/nginx/1.14.2/Dockerfile-nginx-1.14.2 @@ -22,6 +22,7 @@ RUN wget https://codeload.github.com/openssl/openssl/tar.gz/OpenSSL_1_1_1a --no- && make -j$(eval ${COMPILE_THREAD}) \ && make -j$(eval ${COMPILE_THREAD}) install \ && echo "/usr/local/lib/" >> /etc/ld.so.conf \ + && echo "/usr/local/lib64/" >> /etc/ld.so.conf \ && ldconfig -v \ && echo export PATH=/usr/local/bin:\$PATH >> /etc/profile \ && source /etc/profile \ @@ -33,6 +34,7 @@ RUN wget https://nginx.org/download/nginx-1.14.2.tar.gz --no-check-certificate \ && mkdir -p rpmbuild/{BUILD,SPECS,SOURCES,RPMS} \ && mv nginx-1.14.2.tar.gz rpmbuild/SOURCES/. COPY nginx1.14.2.spec rpmbuild/SPECS/. +ENV PERL5LIB=/root/perl5/lib/perl5: PERL_LOCAL_LIB_ROOT=:/root/perl5 PERL_MM_OPT=INSTALL_BASE=/root/perl5 CFLAGS='-fPIC' PATH=/usr/local/bin:$PATH RUN rpmbuild -bb rpmbuild/SPECS/nginx1.14.2.spec \ && mkdir -p /root/output \ && cp rpmbuild/RPMS/aarch64/nginx-1.14.2-1.el7_4.aarch64.rpm output/. diff --git a/Web/CentOS7.6.1810/nginx/1.14.2/nginx1.14.2.spec b/Web/CentOS7.6.1810/nginx/1.14.2/nginx1.14.2.spec index 02e81ef..ad89a6c 100644 --- a/Web/CentOS7.6.1810/nginx/1.14.2/nginx1.14.2.spec +++ b/Web/CentOS7.6.1810/nginx/1.14.2/nginx1.14.2.spec @@ -31,12 +31,12 @@ make -j`cat /proc/cpuinfo | grep processor | wc -l` %install make -j `cat /proc/cpuinfo | grep processor | wc -l` DESTDIR=$RPM_BUILD_ROOT install -#mkdir -p $RPM_BUILD_ROOT/usr/lib64/perl5/ -#cp $RPM_BUILD_ROOT/root/perl5/lib/perl5/aarch64-linux-thread-multi/perllocal.pod $RPM_BUILD_ROOT/usr/lib64/perl5/ -#mkdir -p $RPM_BUILD_ROOT/usr/local/lib64/perl5/ -#cp -r $RPM_BUILD_ROOT/root/perl5/lib/perl5/aarch64-linux-thread-multi/* $RPM_BUILD_ROOT/usr/local/lib64/perl5/ -#mkdir -p $RPM_BUILD_ROOT/usr/local/share -#cp -r $RPM_BUILD_ROOT/root/perl5/man $RPM_BUILD_ROOT/usr/local/share/ +mkdir -p $RPM_BUILD_ROOT/usr/lib64/perl5/ +cp $RPM_BUILD_ROOT/root/perl5/lib/perl5/aarch64-linux-thread-multi/perllocal.pod $RPM_BUILD_ROOT/usr/lib64/perl5/ +mkdir -p $RPM_BUILD_ROOT/usr/local/lib64/perl5/ +cp -r $RPM_BUILD_ROOT/root/perl5/lib/perl5/aarch64-linux-thread-multi/* $RPM_BUILD_ROOT/usr/local/lib64/perl5/ +mkdir -p $RPM_BUILD_ROOT/usr/local/share +cp -r $RPM_BUILD_ROOT/root/perl5/man $RPM_BUILD_ROOT/usr/local/share/ %clean rm -rf $RPM_BUILD_ROOT @@ -47,5 +47,6 @@ rm -rf $RPM_BUILD_ROOT /usr/lib64/perl5/* /usr/local/lib64/perl5/* /usr/local/share/* +/root/perl5/* %changelog -- Gitee