[UPADTE] - compile esl porduit success git status !
This commit is contained in:
parent
d4a41cf128
commit
66d98e5400
3
.env
3
.env
@ -8,6 +8,7 @@ RepoVers=1
|
||||
CentOsVersion=oraclelinux:8.6
|
||||
Cible=oraclelinux
|
||||
VersionCible=8.6
|
||||
PackageManager=dnf
|
||||
# Sync repo script
|
||||
Run=/usr/local/bin/sync.sh
|
||||
# Sync arg script
|
||||
@ -20,7 +21,7 @@ RunArg=del
|
||||
# Esl compilator
|
||||
|
||||
# Version of image
|
||||
GenVers=1
|
||||
GenVers=2
|
||||
# Programme local directory
|
||||
ProgrammeDir=/data/GIT/ESL_PRODUIT
|
||||
# Repositories Directory
|
||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,4 +1,5 @@
|
||||
Dockerfile
|
||||
data/
|
||||
docker-compose.yml
|
||||
cible
|
||||
|
||||
|
@ -1,19 +1,34 @@
|
||||
FROM centos:centos7
|
||||
#FROM centos:centos7
|
||||
FROM ${Cible}:${VersionCible}
|
||||
LABEL maintainer='Guillaume Astier Ruiz'
|
||||
|
||||
ENV os='centos'
|
||||
ENV osversion='7'
|
||||
ENV ESL-TOOLS=gen
|
||||
ENV os="${Cible}"
|
||||
ENV osversion="${VersionCible}"
|
||||
ENV ESL-TOOLS=repo
|
||||
ENV TERM=xterm
|
||||
|
||||
RUN yum update -y
|
||||
RUN ${PackageManager} 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
|
||||
RUN ${PackageManager} install -y perl 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-Getopt-Long perl-HTML-Parser perl-HTML-Tagset perl-HTTP-Cookies 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-LWP-MediaTypes perl-Module-Runtime perl-Mozilla-CA perl-Net-HTTP perl-Net-SSLeay perl-Package-Generator perl-Params-Util 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-LibXML perl-XML-NamespaceSupport perl-XML-Parser perl-XML-SAX perl-XML-SAX-Base perl-XML-Simple perl-XML-TokeParser perl-XML-XPath 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 ${PackageManager} install -y basesystem binutils bzip2 cpp createrepo dejavu-fonts-common dejavu-sans-fonts 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 lm_sensors-devel lm_sensors-libs mailcap mpfr ncurses-base net-tools openssl-devel pcre-devel popt-devel python3 python-srpm-macros redhat-rpm-config rpm-build rpm-devel rsync strace tree unzip vim-common vim-enhanced vim-filesystem xz-devel zip zlib-devel nginx openssh-clients
|
||||
|
||||
|
||||
RUN yum install -y net-snmp
|
||||
RUN ${PackageManager} install -y net-snmp
|
||||
RUN ${PackageManager} install epel-release -y
|
||||
RUN ${PackageManager} install screen -y
|
||||
|
||||
COPY ./bin/run.sh /usr/local/bin/run.sh
|
||||
COPY ./bin/ /usr/local/bin/
|
||||
RUN chmod 777 /usr/local/bin/run.sh
|
||||
CMD /usr/local/bin/run.sh ${GenScript}
|
||||
|
||||
RUN groupadd esl -g 1000
|
||||
#RUN useradd -s /bin/bash -g 1000 -u 1000 -p "$(/usr/bin/openssl passwd -1 esl)" esl
|
||||
RUN useradd -s /bin/bash -g 1000 -u 1000 esl
|
||||
RUN mkdir /data
|
||||
RUN mkdir -p /tmp/log/
|
||||
RUN chown -R esl:esl /data
|
||||
RUN chown -R esl:esl /tmp/log
|
||||
USER esl
|
||||
|
||||
|
||||
RUN echo /usr/local/bin/run.sh ${GenScript}
|
||||
CMD /usr/local/bin/run.sh ${GenScript}
|
||||
|
@ -8,27 +8,29 @@ ENV osversion="${VersionCible}"
|
||||
ENV ESL-TOOLS=repo
|
||||
ENV TERM=xterm
|
||||
|
||||
RUN yum update -y
|
||||
RUN ${PackageManager} update -y
|
||||
|
||||
|
||||
|
||||
RUN yum install yum-utils createrepo vim wget -y
|
||||
RUN yum install epel-release -y
|
||||
RUN yum install screen -y
|
||||
#COPY ./bin/sync.sh /usr/local/bin/sync.sh
|
||||
RUN ${PackageManager} install yum-utils createrepo vim wget -y
|
||||
RUN ${PackageManager} install epel-release -y
|
||||
RUN ${PackageManager} install screen -y
|
||||
#COPY ./bin/repo.sh /usr/local/bin/repo.sh
|
||||
COPY ./bin/ /usr/local/bin/
|
||||
#RUN chmod 755 /usr/local/bin/sync.sh
|
||||
#RUN chmod 755 /usr/local/bin/repo.sh
|
||||
RUN chmod 755 /usr/local/bin/*
|
||||
#COPY ./bin/empty.sh /usr/local/bin/empty.sh
|
||||
#RUN chmod 755 /usr/local/bin/empty.sh
|
||||
|
||||
|
||||
|
||||
RUN yum install openssl -y
|
||||
RUN groupadd esl -g 1000
|
||||
RUN useradd -s /bin/bash -g 1000 -u 1000 -p "$(/usr/bin/openssl passwd -1 esl)" esl
|
||||
#RUN useradd -s /bin/bash -g 1000 -u 1000 -p "$(/usr/bin/openssl passwd -1 esl)" esl
|
||||
RUN useradd -s /bin/bash -g 1000 -u 1000 esl
|
||||
RUN mkdir /data
|
||||
RUN mkdir -p /tmp/log/
|
||||
RUN chown -R esl:esl /data
|
||||
RUN chown -R esl:esl /tmp/log
|
||||
USER esl
|
||||
|
||||
|
||||
|
@ -6,6 +6,6 @@ services:
|
||||
image: esl-repo:${RepoVers}
|
||||
volumes:
|
||||
- ./data:/data
|
||||
- ./log:/tmp/log
|
||||
- ./data/log:/tmp/log
|
||||
- ./bin:/usr/local/bin
|
||||
|
||||
|
@ -55,7 +55,8 @@ DeleteFile() {
|
||||
DockerConnect() {
|
||||
|
||||
Inst=$(docker ps|grep "esl-$1" | awk '{print $NF}')
|
||||
[[ -z "${Inst}" ]] && docker run -ti -v $(realpath $(dirname $0))/data:/data -u esl esl\-${1}:1 bash || docker exec -ti ${Inst} bash
|
||||
[[ -L $(realpath $(dirname $0))/cible ]] && Cible="-v $(realpath $(dirname $0))/cible:/data/cible"
|
||||
[[ -z "${Inst}" ]] && docker run -ti -v $(realpath $(dirname $0))/data:/data -v $(realpath $(dirname $0))/data/log:/log ${Cible} --hostname $1 -u esl esl\-${1}:2 bash || docker exec -ti ${Inst} bash
|
||||
echo DEBUG $Inst $1
|
||||
|
||||
}
|
||||
@ -124,7 +125,8 @@ DockerComposeRun () {
|
||||
[[ "$2" == "Print" ]] && Print="-d" || Print=""
|
||||
cp ${Wai}/Template/docker-compose.yml.$1 ${Wai}/docker-compose.yml
|
||||
echo "Log is : log/${1} - use tail -f ./log/$1"
|
||||
docker run -ti -v $(realpath $(dirname $0))/data:/data -u esl esl-repo:1 /usr/local/bin/sync.sh
|
||||
[[ -L $(realpath $(dirname $0))/cible ]] && Cible="-v $(realpath $(dirname $0))/cible:/data/cible"
|
||||
docker run -ti -v $(realpath $(dirname $0))/data:/data -v $(realpath $(dirname $0))/data/log:/tmp/log ${Cible} -u esl --hostname $1 esl\-${1}:2 /usr/local/bin/${1}.sh
|
||||
#yes | docker-compose up ${Print} --remove-orphans 1>&1 | tee /tmp/RunDocker-${1}.log &> /dev/null
|
||||
##yes | docker-compose up ${Print} --remove-orphans
|
||||
Res $?
|
||||
|
@ -27,19 +27,25 @@ Download (){
|
||||
tput sc
|
||||
while [[ ! -z $(ps axf| grep reposync | grep -v grep) ]]
|
||||
do
|
||||
#DataCurr=$(MoveCurr $cpt)
|
||||
read -r Curr cpt <<< $(MoveCurr $cpt)
|
||||
#Curr=$(echo $DataCurr | cut -d" " -f1)
|
||||
#cpt=$(echo $DataCurr | cut -d" " -f2)
|
||||
Orpm=${Rpm}
|
||||
OrpmName=$(basename ${Orpm:-/}| sed 's/-[0-9]/|/g' | cut -d"|" -f1)
|
||||
Rpm=$(find $Rep -type f -name "*.rpm" -printf "%T@ %p\n" | sort -n | cut -d' ' -f 2- | tail -n 1)
|
||||
RpmName=$(basename ${Rpm:-/}| sed 's/-[0-9]/|/g' | cut -d"|" -f1)
|
||||
#Curr=$(MoveCurr $cpt)
|
||||
Txt="Downloading ${RpmName:-/}"
|
||||
if [[ "${RpmName}" == "$OrpmName" ]] && [[ "$RpmName" != "/" ]]
|
||||
then
|
||||
RpmSize=$(du -s $Rpm|awk '{print $1}')
|
||||
OrpmSize=$(du -s $Orpm|awk '{print $1}')
|
||||
[[ "$RpmSize" -eq "$OrpmSize" ]] && Txt="Sync - RPM Signature"
|
||||
fi
|
||||
[[ "$RpmName" != "/" ]] && Txt="Syncing metada"
|
||||
|
||||
tput rc; tput el
|
||||
echo -ne "\r[${Curr}] - Downloading ${RpmName:-/}\r"
|
||||
echo -ne "\r[${Curr}] - $Txt\r"
|
||||
|
||||
|
||||
sleep 0.2
|
||||
echo "DEBUG : $cpt $Curr" > /tmp/a
|
||||
done
|
||||
|
||||
|
||||
|
34
bin/esl.fct
34
bin/esl.fct
@ -4,16 +4,9 @@ function centos() {
|
||||
|
||||
Repo=epel
|
||||
Action "Get 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
|
||||
|
||||
|
||||
Action "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
|
||||
|
||||
|
||||
|
||||
Action "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
|
||||
|
||||
Action "Get OS BASE : " mkdir -p /data/repo/tmp/ && cd /data/repo/tmp/ && wget -r -p -k http://mirror.centos.org/centos/7.9.2009/os/x86_64/ 2>&1 | tee /data/log/get_base.log
|
||||
|
||||
|
||||
for var in $(find .| grep index.html) ;do rm -f $var;done
|
||||
mkdir -p /data/repo/CentOS/7.9/os/
|
||||
@ -22,10 +15,6 @@ function centos() {
|
||||
rm -rf /data/repo/tmp/*
|
||||
|
||||
Action "Get OS updates : " cd /data/repo/tmp/ && wget -r -p -k http://mirror.centos.org/centos/7.9.2009/updates/x86_64/ 2>&1 | tee /data/log/get_updates.log &> /dev/null
|
||||
|
||||
|
||||
#Action "Clean" for var in $(find . | grep index.html) ;do rm -f $var;done && mkdir -p /data/repo/CentOS/7.9/updates && mv /data/repo/tmp/mirror.centos.org/centos/7.9.2009/updates/x86_64/ /data/repo/CentOS/7.9/updates/ && rm -Rf /data/repo/tmp/
|
||||
|
||||
}
|
||||
|
||||
RunScreen (){
|
||||
@ -42,19 +31,20 @@ function oraclelinux () {
|
||||
Majeur=$(echo ${osversion} | cut -d"." -f1)
|
||||
Mineur=$(echo ${osversion} | cut -d"." -f2)
|
||||
|
||||
Action "Create Dir ${osversion}" mkdir -p /data/repo/OracleLinux/${osversion}/
|
||||
RunScreen appstream dnf reposync -g --newest-only --exclude='*.src' -p /data/repo/OracleLinux/${osversion}/ --download-metadata --repoid=ol${Majeur}_appstream
|
||||
Download /data/repo/OracleLinux/${osversion}/
|
||||
Action "Move SeaNaps environement" mv /data/repo/OracleLinux/${osversion}/ol${Majeur}_appstream /data/repo/OracleLinux/${osversion}/appstream
|
||||
|
||||
Action "Create BIN environement" mkdir -p /data/repo/OracleLinux/${osversion}/appstream/x86_64
|
||||
Action "Move data rpm in BIN environtment" mv /data/repo/OracleLinux/${osversion}/appstream/{getPackage,repodata} /data/repo/OracleLinux/${osversion}/appstream/x86_64
|
||||
test -L /data/repo/OracleLinux/${osversion}/appstream/x86_64 && Action "Delete Old Link" rm /data/repo/OracleLinux/${osversion}/appstream/x86_64
|
||||
Action "Create Dir ${osversion}" mkdir -p /data/repo/OracleLinux/${osversion}/appstream/
|
||||
RunScreen appstream dnf reposync -g --newest-only --exclude='*.src' -p /data/repo/OracleLinux/${osversion}/appstream/ --download-metadata --repoid=ol${Majeur}_appstream
|
||||
Download /data/repo/OracleLinux/${osversion}/appstream/
|
||||
Action "Get in ${osversion} appstream" cd /data/repo/OracleLinux/${osversion}/appstream/
|
||||
Action "Link SeaNaps environement appstream" ln -s ol${Majeur}_appstream x86_64
|
||||
|
||||
|
||||
Action "Create Dir ${osversion}" mkdir -p /data/repo/OracleLinux/${osversion}/
|
||||
RunScreen appstream dnf reposync -g --newest-only --exclude='*.src' -p /data/repo/OracleLinux/${osversion}/ --download-metadata --repoid=ol${Majeur}_u${Mineur}_baseos_base
|
||||
test -L /data/repo/OracleLinux/${osversion}/baseos/latest/x86_64 && Action "Delete Old Link" rm /data/repo/OracleLinux/${osversion}/baseos/latest/x86_64
|
||||
|
||||
Download /data/repo/OracleLinux/${osversion}/
|
||||
Action "Move SeaNaps environement" mv /data/repo/OracleLinux/${osversion}/baseos/latest/x86_64/*/{getPackage,repodata} /data/repo/OracleLinux/${osversion}/baseos/latest/x86_64/
|
||||
Action "Create Dir ${osversion}" mkdir -p /data/repo/OracleLinux/${osversion}/baseos/latest
|
||||
RunScreen appstream dnf reposync -g --newest-only --exclude='*.src' -p /data/repo/OracleLinux/${osversion}/baseos/latest --download-metadata --repoid=ol${Majeur}_u${Mineur}_baseos_base
|
||||
Download /data/repo/OracleLinux/${osversion}/baseos
|
||||
Action "Get in ${osversion} baseos" cd /data/repo/OracleLinux/${osversion}/baseos/latest
|
||||
Action "Link SeaNaps environement baseOS" ln -s ol${Majeur}_u${Mineur}_baseos_base x86_64
|
||||
|
||||
}
|
||||
|
12
bin/gen.sh
12
bin/gen.sh
@ -2,12 +2,22 @@
|
||||
|
||||
|
||||
|
||||
usage() {
|
||||
|
||||
echo "No cible is present in /data/"
|
||||
exit
|
||||
|
||||
}
|
||||
|
||||
|
||||
RmEnv() {
|
||||
rm -Rf ${Wai}/ESL/.Prefetch/
|
||||
rm -Rf ${Wai}/Workspace/*
|
||||
}
|
||||
|
||||
Wai=/data/
|
||||
Wai=/data/cible
|
||||
|
||||
[[ ! -d $Wai ]] && usage
|
||||
|
||||
|
||||
cd ${Wai}/ESL/GenELMU/
|
||||
|
Loading…
x
Reference in New Issue
Block a user