From e814fd3c823e55e556d439f304a5e7a7aeb04440 Mon Sep 17 00:00:00 2001 From: Guillaume Astier Date: Sun, 12 Dec 2021 13:59:57 +0100 Subject: [PATCH] [UPDATE] - full test --- .env | 4 ++-- Template/Dockerfile.gen | 10 +++++---- Template/Dockerfile.repo | 13 ++++++----- Template/docker-compose.yml.gen | 1 + Template/docker-compose.yml.repo | 1 + Template/function | 7 ++++++ bin/gen.sh | 4 +++- bin/run.sh | 0 bin/sync.sh | 38 ++++++++++++++++++-------------- 9 files changed, 49 insertions(+), 29 deletions(-) mode change 100644 => 100755 bin/run.sh diff --git a/.env b/.env index c55741f..81421dd 100644 --- a/.env +++ b/.env @@ -6,7 +6,7 @@ RepoVers=1 # Centos Version CentOsVersion=7.9.2009 # Sync repo script -Run=/bin/sync.sh +Run=/usr/local/bin/sync.sh # Sync arg script # * del : delete all local repo # * debug : only start docker instance @@ -23,5 +23,5 @@ ProgrammeDir=/data/GIT/ESL_PRODUIT # Repositories Directory RepoDir=./data/repo # If auto gen script esl Else leave empty and only start docker instance -GenScript=/data/gen.sh +GenScript=/usr/local/bin/gen.sh diff --git a/Template/Dockerfile.gen b/Template/Dockerfile.gen index 843c895..d9f5f58 100644 --- a/Template/Dockerfile.gen +++ b/Template/Dockerfile.gen @@ -3,6 +3,9 @@ LABEL maintainer='Guillaume Astier Ruiz' ENV os='centos' ENV osversion='7' +ENV ESL-TOOLS=gen + +RUN yum update -y RUN yum install -y perl perl-Business-ISBN perl-Business-ISBN-Data perl-Carp perl-Compress-Raw-Bzip2 perl-Compress-Raw-Zlib perl-Data-Dumper perl-Data-OptList perl-Digest perl-Digest-MD5 perl-Encode perl-Encode-Locale perl-Error perl-Exporter perl-ExtUtils-Install perl-ExtUtils-MakeMaker perl-ExtUtils-Manifest perl-ExtUtils-ParseXS perl-File-Listing perl-File-Path perl-File-Temp perl-Filter perl-Font-AFM perl-Getopt-Long perl-HTML-Format perl-HTML-Parser perl-HTML-Tagset perl-HTML-Tree perl-HTTP-Cookies perl-HTTP-Daemon perl-HTTP-Date perl-HTTP-Message perl-HTTP-Negotiate perl-HTTP-Tiny perl-IO-Compress perl-IO-HTML perl-IO-Socket-IP perl-IO-Socket-SSL perl-IO-stringy perl-LWP-MediaTypes perl-Module-Implementation perl-Module-Runtime perl-Mozilla-CA perl-Net-HTTP perl-Net-LibIDN perl-Net-SSLeay perl-Package-Generator perl-PadWalker perl-Params-Util perl-Params-Validate perl-PathTools perl-Pod-Escapes perl-Pod-Perldoc perl-Pod-Simple perl-Pod-Usage perl-Scalar-List-Utils perl-Socket perl-Storable perl-Sub-Exporter perl-Sub-Install perl-TermReadKey perl-Test-Harness perl-Text-ParseWords perl-Thread-Queue perl-Time-HiRes perl-Time-Local perl-TimeDate perl-Tk perl-Try-Tiny perl-URI perl-WWW-RobotRules perl-XML-Catalog perl-XML-DOM perl-XML-Dumper perl-XML-Filter-BufferText perl-XML-Grove perl-XML-Handler-YAWriter perl-XML-LibXML perl-XML-LibXSLT perl-XML-NamespaceSupport perl-XML-Parser perl-XML-RegExp perl-XML-SAX perl-XML-SAX-Base perl-XML-SAX-Writer perl-XML-Simple perl-XML-TokeParser perl-XML-TreeBuilder perl-XML-Twig perl-XML-Writer perl-XML-XPath perl-XML-XPathEngine perl-constant perl-devel perl-libs perl-libwww-perl perl-libxml-perl perl-macros perl-parent perl-podlators perl-srpm-macros perl-threads perl-threads-shared RUN yum install -y basesystem binutils bzip2 cpp createrepo dejavu-fonts-common dejavu-sans-fonts deltarpm dwz elfutils elfutils-devel elfutils-libelf-devel fontconfig fontpackages-filesystem gcc gdb gdbm-devel genisoimage glibc-devel glibc-headers gpm-libs groff-base keyutils-libs-devel libX11 libX11-common libXau libXft libXrender libcom_err-devel libdb-devel libjpeg-turbo libmpc libselinux-devel libsepol-devel libusal libverto-devel libxcb libxml2-python lm_sensors-devel lm_sensors-libs mailcap mpfr ncurses-base net-tools openssl-devel pcre-devel popt-devel pyparsing python-deltarpm python-gobject-base python-srpm-macros redhat-rpm-config rpm-build rpm-devel rsync strace tcp_wrappers-devel tree unzip vim-common vim-enhanced vim-filesystem xz-devel zip zlib-devel nginx openssh-clients @@ -10,8 +13,7 @@ RUN yum install -y basesystem binutils bzip2 cpp createrepo dejavu-fonts-common RUN yum install -y net-snmp -COPY ./bin/run.sh /bin/run.sh -RUN chmod 777 /bin/run.sh -#CMD [/bin/run.sh ${GenScript}] -CMD /bin/run.sh ${GenScript} +COPY ./bin/run.sh /usr/local/bin/run.sh +RUN chmod 777 /usr/local/bin/run.sh +CMD /usr/local/bin/run.sh ${GenScript} diff --git a/Template/Dockerfile.repo b/Template/Dockerfile.repo index bf793d7..587f281 100644 --- a/Template/Dockerfile.repo +++ b/Template/Dockerfile.repo @@ -3,14 +3,17 @@ LABEL maintainer='Guillaume Astier Ruiz' ENV os='centos' ENV osversion='7' +ENV ESL-TOOLS=repo + +RUN yum update -y + RUN yum install yum-utils createrepo vim wget -y RUN yum install epel-release -y -COPY ./bin/sync.sh /bin/sync.sh -RUN chmod 755 /bin/sync.sh -COPY ./bin/empty.sh /bin/empty.sh -RUN chmod 755 /bin/empty.sh +COPY ./bin/sync.sh /usr/local/bin/sync.sh +RUN chmod 755 /usr/local/bin/sync.sh +COPY ./bin/empty.sh /usr/local/bin/empty.sh +RUN chmod 755 /usr/local/bin/empty.sh -#CMD [${Run} ${RunArg}] CMD ${Run} ${RunArg} diff --git a/Template/docker-compose.yml.gen b/Template/docker-compose.yml.gen index 1fac51e..df4b99a 100644 --- a/Template/docker-compose.yml.gen +++ b/Template/docker-compose.yml.gen @@ -7,4 +7,5 @@ services: volumes: - ${ProgrammeDir}:/data - ${RepoDir}:/data/distributions + - ./bin:/usr/local/bin diff --git a/Template/docker-compose.yml.repo b/Template/docker-compose.yml.repo index a95f033..b8bc275 100644 --- a/Template/docker-compose.yml.repo +++ b/Template/docker-compose.yml.repo @@ -6,4 +6,5 @@ services: image: esl-repo:${RepoVers} volumes: - ./data:/data + - ./bin:/usr/local/bin diff --git a/Template/function b/Template/function index 0939d65..8fad779 100755 --- a/Template/function +++ b/Template/function @@ -111,6 +111,13 @@ DockerGen() { DockerComposeRun () { + echo " +------ Log Compil ----------- +/tmp/GetRepo-${1}.log +----------------------------- +" + + [[ -f ${Wai}/docker-compose.yml ]] && rm -f ${Wai}/docker-compose.yml [[ "$2" == "Print" ]] && Print="-d" || Print="" diff --git a/bin/gen.sh b/bin/gen.sh index 9192bbd..8bd3d08 100755 --- a/bin/gen.sh +++ b/bin/gen.sh @@ -1,12 +1,14 @@ #!/bin/bash + RmEnv() { rm -Rf ${Wai}/ESL/.Prefetch/ rm -Rf ${Wai}/Workspace/* } -Wai=$(realpath $(dirname $0)) +Wai=/data/ + cd ${Wai}/ESL/GenELMU/ source ${Wai}/ESL/setenv.sh diff --git a/bin/run.sh b/bin/run.sh old mode 100644 new mode 100755 diff --git a/bin/sync.sh b/bin/sync.sh index 3425d56..0fa4d96 100755 --- a/bin/sync.sh +++ b/bin/sync.sh @@ -10,6 +10,7 @@ Res() { else echo "$(tput setaf 1)FAILED$(tput sgr0)" fi + Tot=$((Tot+$1)) } @@ -22,6 +23,7 @@ WhileTrue() { } +Tot=0 [[ $1 == "debug" ]] && WhileTrue [[ $1 == "del" ]] && rm -Rf /data/repo /data/log @@ -30,6 +32,24 @@ WhileTrue() { [[ ! -d /data/repo ]] && mkdir -p /data/repo +echo -n "Get epel : " +Repo=epel +reposync -l --newest-only --delete --downloadcomps --download-metadata --repoid=${Repo} --download_path=/data/repo/ 2>&1 | tee /data/log/get_${Repo}.log &> /dev/null +Res $? + +echo -n "Move SeanAps EPEL : " +mkdir -p /data/repo/EPEL/el7/x86_64/Packages && +for var in $(find /data/repo/epel/ -name *rpm -type f) ; do mv $var /data/repo/EPEL/el7/x86_64/Packages; done +Res $? + + +echo -n "Create repo epel : " +cd /data/repo/EPEL/el7/x86_64/ +createrepo -v /data/repo/EPEL/el7/x86_64/ 2>&1 | tee /data/log/CreateRepo_${Repo}.log &> /dev/null +Res $? + + + echo -n "Get OS BASE : " mkdir /data/repo/tmp/ cd /data/repo/tmp/ @@ -53,21 +73,5 @@ mv /data/repo/tmp/mirror.centos.org/centos/7.9.2009/updates/x86_64/ /data/repo/C rm -Rf /data/repo/tmp/ -echo -n "Get epel : " -Repo=epel -reposync -l --newest-only --delete --downloadcomps --download-metadata --repoid=${Repo} --download_path=/data/repo/ 2>&1 | tee /data/log/get_${Repo}.log &> /dev/null -Res $? -for var in $(find /data/repo/epel/ -name *rpm) ; do mv $var /data/repo/epel/Packages/; done -echo -n "Create repo epel : " -cd /data/repo/epel -createrepo -v /data/repo/epel 2>&1 | tee /data/log/CreateRepo_${Repo}.log &> /dev/null -Res $? - -echo -n "Move EPEL : " -mkdir -p /data/repo/EPEL/el7/x86_64/ && -mv /data/repo/epel/* /data/repo/EPEL/el7/x86_64/ && -rmdir /data/repo/epel/ -Res $? - - +exit $Tot