Compare commits
No commits in common. "master" and "2.0" have entirely different histories.
6
.env
6
.env
@ -2,12 +2,12 @@
|
|||||||
# Repository generator
|
# Repository generator
|
||||||
|
|
||||||
# Version of image
|
# Version of image
|
||||||
RepoVers=2
|
RepoVers=1
|
||||||
# Centos Version
|
# Centos Version
|
||||||
#CentOsVersion=centos:7.9.2009
|
#CentOsVersion=centos:7.9.2009
|
||||||
CentOsVersion=oraclelinux:8.7
|
CentOsVersion=oraclelinux:8.6
|
||||||
Cible=oraclelinux
|
Cible=oraclelinux
|
||||||
VersionCible=8.7
|
VersionCible=8.6
|
||||||
PackageManager=dnf
|
PackageManager=dnf
|
||||||
# Sync repo script
|
# Sync repo script
|
||||||
Run=/usr/local/bin/sync.sh
|
Run=/usr/local/bin/sync.sh
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,5 +2,4 @@ Dockerfile
|
|||||||
data/
|
data/
|
||||||
docker-compose.yml
|
docker-compose.yml
|
||||||
cible
|
cible
|
||||||
images
|
|
||||||
|
|
||||||
|
|||||||
@ -18,7 +18,7 @@ RUN ${PackageManager} install screen -y
|
|||||||
#COPY ./bin/repo.sh /usr/local/bin/repo.sh
|
#COPY ./bin/repo.sh /usr/local/bin/repo.sh
|
||||||
COPY ./bin/ /usr/local/bin/
|
COPY ./bin/ /usr/local/bin/
|
||||||
#RUN chmod 755 /usr/local/bin/repo.sh
|
#RUN chmod 755 /usr/local/bin/repo.sh
|
||||||
RUN chmod -R 755 /usr/local/bin/
|
RUN chmod 755 /usr/local/bin/*
|
||||||
#COPY ./bin/empty.sh /usr/local/bin/empty.sh
|
#COPY ./bin/empty.sh /usr/local/bin/empty.sh
|
||||||
#RUN chmod 755 /usr/local/bin/empty.sh
|
#RUN chmod 755 /usr/local/bin/empty.sh
|
||||||
|
|
||||||
|
|||||||
@ -19,7 +19,7 @@ RUN ${PackageManager} install screen -y
|
|||||||
RUN echo COPY
|
RUN echo COPY
|
||||||
COPY ./bin/ /usr/local/bin/
|
COPY ./bin/ /usr/local/bin/
|
||||||
#RUN chmod 755 /usr/local/bin/repo.sh
|
#RUN chmod 755 /usr/local/bin/repo.sh
|
||||||
RUN chmod -R 755 /usr/local/bin/
|
RUN chmod 755 /usr/local/bin/*
|
||||||
#COPY ./bin/empty.sh /usr/local/bin/empty.sh
|
#COPY ./bin/empty.sh /usr/local/bin/empty.sh
|
||||||
#RUN chmod 755 /usr/local/bin/empty.sh
|
#RUN chmod 755 /usr/local/bin/empty.sh
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
#!/bin/bash
|
|
||||||
TestEnv() {
|
TestEnv() {
|
||||||
|
|
||||||
Check=$(which $1 2> /dev/null)
|
Check=$(which $1 2> /dev/null)
|
||||||
@ -35,7 +34,7 @@ LinkESL() {
|
|||||||
|
|
||||||
help () {
|
help () {
|
||||||
echo "
|
echo "
|
||||||
$0 [image-gen/image-repo/link/repo/gen/run-repo/run-gen/import-image/save-image]
|
$0 [image-gen/image-repo/link/repo/gen/run-repo/run-gen]
|
||||||
|
|
||||||
* $(tput setaf 3)image-gen $(tput sgr0): Generate docker image for esl compilator
|
* $(tput setaf 3)image-gen $(tput sgr0): Generate docker image for esl compilator
|
||||||
* $(tput setaf 3)image-repo $(tput sgr0): Generate docker image for repository sync
|
* $(tput setaf 3)image-repo $(tput sgr0): Generate docker image for repository sync
|
||||||
@ -44,8 +43,6 @@ $0 [image-gen/image-repo/link/repo/gen/run-repo/run-gen/import-image/save-image]
|
|||||||
* $(tput setaf 4)gen $(tput sgr0): start docker compose and generarte esl
|
* $(tput setaf 4)gen $(tput sgr0): start docker compose and generarte esl
|
||||||
* $(tput setaf 2)run-gen $(tput sgr0): Connect and run bash on instance gen
|
* $(tput setaf 2)run-gen $(tput sgr0): Connect and run bash on instance gen
|
||||||
* $(tput setaf 2)run-repo $(tput sgr0): Connect and run bash on instance repo
|
* $(tput setaf 2)run-repo $(tput sgr0): Connect and run bash on instance repo
|
||||||
* $(tput setaf 6)import-image $(tput sgr0): Import last backuped docker image in ./images/
|
|
||||||
* $(tput setaf 6)save-image $(tput sgr0): backup docker image in ./images/
|
|
||||||
|
|
||||||
"
|
"
|
||||||
exit
|
exit
|
||||||
@ -150,36 +147,6 @@ DockerComposeRun () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DockerSave () {
|
|
||||||
|
|
||||||
for Image in $(docker image ls | grep -E "^esl-repo|^esl-gen" | awk '{print $1":"$2}')
|
|
||||||
do
|
|
||||||
EslImage=$(echo $Image | cut -d":" -f1)
|
|
||||||
EslImageVersion=$(echo $Image | cut -d":" -f2)
|
|
||||||
echo -ne "Save $Image : "
|
|
||||||
docker save $Image | gzip > $(dirname $0)/images/${EslImageVersion}-$(date +%Y%m%d)_$(echo $Image | sed 's/:/-/g').gz
|
|
||||||
[[ "$?" -eq 0 ]] && echo OK || echo FAILED
|
|
||||||
done
|
|
||||||
|
|
||||||
}
|
|
||||||
DockerImport () {
|
|
||||||
|
|
||||||
if [[ $(ls -1 images | grep "esl-"| wc -l) -eq 0 ]]
|
|
||||||
then
|
|
||||||
echo "Nothing todo ..."
|
|
||||||
else
|
|
||||||
for Type in repo gen
|
|
||||||
do
|
|
||||||
GetImage=$(ls -1 images | grep $Type |sort -r -n -t"-" -k1,2 | head -n1)
|
|
||||||
echo -ne "Import $GetImage : "
|
|
||||||
zcat images/$GetImage | docker load &> /dev/null
|
|
||||||
[[ "$?" -eq 0 ]] && echo OK || echo FAILED
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#GenAll () {
|
#GenAll () {
|
||||||
# DockerGen gen
|
# DockerGen gen
|
||||||
|
|||||||
10
bin/esl.fct
10
bin/esl.fct
@ -25,14 +25,6 @@ RunScreen (){
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
LinkEpel() {
|
|
||||||
|
|
||||||
[[ ! -L $2 ]] && ln -s ol${Majeur}_developer_EPEL x86_64
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function oraclelinux () {
|
function oraclelinux () {
|
||||||
|
|
||||||
Rand=repo${RANDOM}
|
Rand=repo${RANDOM}
|
||||||
@ -44,7 +36,7 @@ function oraclelinux () {
|
|||||||
RunScreen EPEL dnf reposync -g --newest-only --exclude='*.src' -p /data/repo/EPEL/ol${Majeur} --download-metadata --repoid=ol${Majeur}_developer_EPEL
|
RunScreen EPEL dnf reposync -g --newest-only --exclude='*.src' -p /data/repo/EPEL/ol${Majeur} --download-metadata --repoid=ol${Majeur}_developer_EPEL
|
||||||
Download /data/repo/EPEL/ EPEL
|
Download /data/repo/EPEL/ EPEL
|
||||||
Action "Get in ${osversion} EPEL" cd /data/repo/EPEL/ol${Majeur}
|
Action "Get in ${osversion} EPEL" cd /data/repo/EPEL/ol${Majeur}
|
||||||
Action "Link SeaNaps environement EPEL" LinkEpel ol${Majeur}_developer_EPEL x86_64
|
Action "Link SeaNaps environement EPEL" ln -s ol${Majeur}_developer_EPEL x86_64
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,80 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Print help and exit
|
|
||||||
usage(){
|
|
||||||
echo "-- $0 --"
|
|
||||||
echo "Freeze package environement in distributions. Create a 'fake' repository with real repodata but symbolic link of rpms"
|
|
||||||
echo "$0 OrigDir/repmod.xml BaseRepoDir DestDistributionBasenaemeDir"
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
|
|
||||||
# Print the first arguement, execute the rest of the arguements and print the result OK/FAILED
|
|
||||||
action(){
|
|
||||||
echo -ne "${1} : "
|
|
||||||
shift
|
|
||||||
$@ &> /tmp/aaa
|
|
||||||
[[ $? -eq 0 ]] && echo -e '\033[0;32mOK\033[0m' || echo -e '\033[0;31mFAILED\033[0m'
|
|
||||||
}
|
|
||||||
|
|
||||||
# Create tree structure of the repository in the destination directory
|
|
||||||
CreateEnv(){
|
|
||||||
CptErr=0
|
|
||||||
[[ ! -d ${DirDest} ]] && mkdir -p ${DirDest} || true
|
|
||||||
CptErr=$((CptErr + $?))
|
|
||||||
for Dir in $(find -L $OrigBaseRepo -type d| sed "s#${OrigBaseRepo}##g")
|
|
||||||
do
|
|
||||||
[[ ! -d ${DirDest}/${Dir} ]] && mkdir -p ${DirDest}/${Dir} || true
|
|
||||||
CptErr=$((CptErr + $?))
|
|
||||||
done
|
|
||||||
|
|
||||||
CptErr=$((CptErr + $?))
|
|
||||||
return $CptErr
|
|
||||||
}
|
|
||||||
|
|
||||||
# for each rpm in the (get)Package directory, create a symbolic link in the destination directory
|
|
||||||
RpmLink(){
|
|
||||||
CptErr=0
|
|
||||||
for Rpm in $(find -L $OrigBaseRepo -type f -name "*.rpm" | sed "s#${OrigBaseRepo}##g")
|
|
||||||
do
|
|
||||||
[[ ! -L ${DirDest}/${Rpm} ]] && ln -s ${OrigBaseRepo}${Rpm} ${DirDest}/${Rpm} || true
|
|
||||||
CptErr=$((CptErr + $?))
|
|
||||||
done
|
|
||||||
return $CptErr
|
|
||||||
}
|
|
||||||
|
|
||||||
# Copy repodata files in the destination directory
|
|
||||||
RepoModCopy(){
|
|
||||||
cp -vf $(dirname ${RepModFile})/* $(dirname $(echo ${RepModFile}| sed "s#${BaseDirDestRepo}#${DestDir}#g"))/.
|
|
||||||
CptErr=$((CptErr + $?))
|
|
||||||
return $?
|
|
||||||
}
|
|
||||||
|
|
||||||
# Check all arguments and create variable environement for readability
|
|
||||||
CheckArg(){
|
|
||||||
[[ ! -f ${1} ]] && usage
|
|
||||||
RepModFile=${1}
|
|
||||||
[[ ! -d ${2} ]] && usage
|
|
||||||
BaseDirDestRepo=${2}
|
|
||||||
DestDir=${3}/distributions/
|
|
||||||
DirDest=$(echo $(dirname $(dirname ${RepModFile})) | sed "s#${BaseDirDestRepo}#${DestDir}#g")
|
|
||||||
OrigBaseRepo=$(echo $(dirname $(dirname ${RepModFile})))
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Main
|
|
||||||
|
|
||||||
CheckArg ${1} ${2} ${3}
|
|
||||||
echo "
|
|
||||||
###############################################
|
|
||||||
RepModFile = ${1}
|
|
||||||
BaseDirDestRepo = ${2}
|
|
||||||
DestDir = ${3}
|
|
||||||
###############################################"
|
|
||||||
|
|
||||||
# Execute
|
|
||||||
|
|
||||||
action "Create dest environement" CreateEnv ${RepModFile} ${BaseDirDestRepo} ${DestDir}
|
|
||||||
action "Link Rpm" RpmLink ${RepModFile} ${BaseDirDestRepo} ${DestDir}
|
|
||||||
action "Copy repo data" RepoModCopy ${RepModFile} ${BaseDirDestRepo} ${DestDir}
|
|
||||||
|
|
||||||
|
|
||||||
@ -15,35 +15,16 @@ cd ${Wai}
|
|||||||
Exec=$1
|
Exec=$1
|
||||||
|
|
||||||
[[ -z "${Exec}" ]] && help
|
[[ -z "${Exec}" ]] && help
|
||||||
#[[ "${Exec}" == "image" ]] && GenAll
|
[[ "${Exec}" == "image" ]] && GenAll
|
||||||
#[[ "${Exec}" == "image-gen" ]] && DockerGen gen
|
[[ "${Exec}" == "image-gen" ]] && DockerGen gen
|
||||||
#[[ "${Exec}" == "image-repo" ]] && DockerGen repo
|
[[ "${Exec}" == "image-repo" ]] && DockerGen repo
|
||||||
#[[ "${Exec}" == "link" ]] && LinkESL
|
[[ "${Exec}" == "link" ]] && LinkESL
|
||||||
#[[ "${Exec}" == "repo" ]] && DockerComposeRun repo
|
[[ "${Exec}" == "repo" ]] && DockerComposeRun repo
|
||||||
#[[ "${Exec}" == "stop" ]] && DockerStop
|
[[ "${Exec}" == "stop" ]] && DockerStop
|
||||||
#[[ "${Exec}" == "gen" ]] && DockerComposeRun gen
|
[[ "${Exec}" == "gen" ]] && DockerComposeRun gen
|
||||||
#[[ "${Exec}" == "run-gen" ]] && DockerConnect gen $2
|
[[ "${Exec}" == "run-gen" ]] && DockerConnect gen $2
|
||||||
#[[ "${Exec}" == "run-repo" ]] && DockerConnect repo $2
|
[[ "${Exec}" == "run-repo" ]] && DockerConnect repo $2
|
||||||
#[[ "${Exec}" == "import-image" ]] && DockerImport
|
[[ "${Exec}" == "ps" ]] && DockerPs
|
||||||
#[[ "${Exec}" == "save-image" ]] && DockerSave
|
|
||||||
#
|
|
||||||
case $Exec in
|
|
||||||
image-gen) DockerGen gen;;
|
|
||||||
image-repo) DockerGen repo;;
|
|
||||||
repo) DockerComposeRun repo;;
|
|
||||||
stop) DockerStop;;
|
|
||||||
gen) DockerComposeRun gen ;;
|
|
||||||
link) LinkESL;;
|
|
||||||
run-gen) DockerConnect gen $2;;
|
|
||||||
run-repo) DockerConnect repo $2;;
|
|
||||||
import-image) DockerImport;;
|
|
||||||
save-image) DockerSave;;
|
|
||||||
*) help
|
|
||||||
esac
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if [[ "${Exec}" == "all" ]]
|
if [[ "${Exec}" == "all" ]]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user