Skip to content

Commit 69cb682

Browse files
committed
Add 5.16.3, 5.18.2, 5.20.2 perl dockers
0 parents  commit 69cb682

File tree

11 files changed

+371
-0
lines changed

11 files changed

+371
-0
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
lib/

5.016003/Dockerfile

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# ------------------------------------------------------
2+
# Dockerfile
3+
# ------------------------------------------------------
4+
# image: docker-perl
5+
# tag: 5.016003
6+
# name: amuxbit/docker-perl
7+
# version: 1.0.0
8+
# repo: https://github.com/amuxbit/docker-perl
9+
# how-to: docker build --force-rm -t amuxbit/docker-perl:5.016003 .
10+
# run: docker run -t -i amuxbit/docker-perl:5.016003 /opt/perl5/perls/perl-5.20.2/bin/perl -e "print('hi from inside a container')"
11+
# run interactive: docker run -t -i docker-perl /bin/bash
12+
# requires: ubuntu
13+
14+
# ------------------------------------------------------
15+
16+
FROM amuxbit/docker-ubuntu:latest
17+
MAINTAINER amuxbit
18+
19+
# -----> Env
20+
ENV WORKDIR /tmp/build/docker-perl
21+
ENV PERL_VER perl-5.16.3
22+
ENV SYS_PERLBREW_ROOT /opt/perl5
23+
ENV PERLBREW_ROOT=$SYS_PERLBREW_ROOT
24+
ENV PERLBREW_HOME=/opt/.perlbrew
25+
ENV PATH=$PERLBREW_ROOT/perls/$PERL_VER/bin:$PATH
26+
ENV SHELL=/bin/bash
27+
28+
WORKDIR /tmp/build/docker-perl
29+
30+
# -----> Add assets
31+
ADD ./ubuntu $WORKDIR/ubuntu
32+
33+
# -----> Execute
34+
# Libs
35+
RUN git clone https://github.com/Amuxbit/container-automation-lib.git lib
36+
RUN chmod +x $WORKDIR/ubuntu
37+
RUN $WORKDIR/ubuntu

5.016003/build.sh

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#!/bin/bash
2+
3+
DOCKERNAME="amuxbit/docker-perl:5.016003"
4+
5+
time docker build --force-rm -t $DOCKERNAME .
6+
7+
if [ $? -eq 0 ]; then
8+
echo
9+
echo
10+
echo "To pull it"
11+
echo " docker pull $DOCKERNAME"
12+
echo
13+
echo "To use this docker:"
14+
echo " docker run -d -P $DOCKERNAME"
15+
echo
16+
echo "To run a specific perl program:"
17+
echo " docker run -t -i $DOCKERNAME /opt/perl5/perls/perl-5.20.2/bin/perl -e \"print('hi from inside a container running perl version ', $])\""
18+
echo
19+
echo "To run in interactive mode for debug:"
20+
echo " docker run -t -i $DOCKERNAME /bin/bash -lc \"source /etc/environment && bash\""
21+
echo
22+
else
23+
echo
24+
echo "There was an error with the docker build, see the console log."
25+
echo
26+
fi;

5.016003/ubuntu

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
#!/bin/bash
2+
3+
source lib/core.sh
4+
5+
os() {
6+
installPackages() {
7+
local packages=("curl" "libssl-dev")
8+
runApt "${packages[@]}"
9+
}
10+
11+
local commands=(info updateApt installPackages cleanApt)
12+
run "${commands[@]}"
13+
}
14+
15+
install() {
16+
dirs() {
17+
sudo mkdir -p /opt/perl5/dists
18+
sudo mkdir -p /opt/perl5/build
19+
}
20+
21+
downloadPerlbrew() {
22+
curl -L http://install.perlbrew.pl | bash
23+
}
24+
25+
profile() {
26+
printf "export PERLBREW_HOME=/opt/.perlbrew\n" >> ~/.bashrc
27+
printf "source /opt/perl5/etc/bashrc\n" >> ~/.bashrc
28+
}
29+
30+
installPerl() {
31+
shell "perlbrew install $PERL_VER --switch -n -j 4"
32+
}
33+
34+
installCpanm() {
35+
shell "perlbrew install-cpanm"
36+
}
37+
38+
local commands=(dirs downloadPerlbrew profile installPerl installCpanm)
39+
run "${commands[@]}"
40+
}
41+
42+
main() {
43+
local commands=(os install)
44+
run "${commands[@]}"
45+
catch
46+
}
47+
48+
main

5.018002/Dockerfile

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# ------------------------------------------------------
2+
# Dockerfile
3+
# ------------------------------------------------------
4+
# image: docker-perl
5+
# tag: 5.018002
6+
# name: amuxbit/docker-perl
7+
# version: 1.0.0
8+
# repo: https://github.com/amuxbit/docker-perl
9+
# how-to: docker build --force-rm -t amuxbit/docker-perl:5.018002 .
10+
# run: docker run -t -i amuxbit/docker-perl:5.018002 /opt/perl5/perls/perl-5.20.2/bin/perl -e "print('hi from inside a container')"
11+
# run interactive: docker run -t -i docker-perl /bin/bash
12+
# requires: ubuntu
13+
14+
# ------------------------------------------------------
15+
16+
FROM amuxbit/docker-ubuntu:latest
17+
MAINTAINER amuxbit
18+
19+
# -----> Env
20+
ENV WORKDIR /tmp/build/docker-perl
21+
ENV PERL_VER perl-5.18.2
22+
ENV SYS_PERLBREW_ROOT /opt/perl5
23+
ENV PERLBREW_ROOT=$SYS_PERLBREW_ROOT
24+
ENV PERLBREW_HOME=/opt/.perlbrew
25+
ENV PATH=$PERLBREW_ROOT/perls/$PERL_VER/bin:$PATH
26+
ENV SHELL=/bin/bash
27+
28+
WORKDIR /tmp/build/docker-perl
29+
30+
# -----> Add assets
31+
ADD ./ubuntu $WORKDIR/ubuntu
32+
33+
# -----> Execute
34+
# Libs
35+
RUN git clone https://github.com/Amuxbit/container-automation-lib.git lib
36+
RUN chmod +x $WORKDIR/ubuntu
37+
RUN $WORKDIR/ubuntu

5.018002/build.sh

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#!/bin/bash
2+
3+
DOCKERNAME="amuxbit/docker-perl:5.018002"
4+
5+
time docker build --force-rm -t $DOCKERNAME .
6+
7+
if [ $? -eq 0 ]; then
8+
echo
9+
echo
10+
echo "To pull it"
11+
echo " docker pull $DOCKERNAME"
12+
echo
13+
echo "To use this docker:"
14+
echo " docker run -d -P $DOCKERNAME"
15+
echo
16+
echo "To run a specific perl program:"
17+
echo " docker run -t -i $DOCKERNAME /opt/perl5/perls/perl-5.20.2/bin/perl -e \"print('hi from inside a container running perl version ', $])\""
18+
echo
19+
echo "To run in interactive mode for debug:"
20+
echo " docker run -t -i $DOCKERNAME /bin/bash -lc \"source /etc/environment && bash\""
21+
echo
22+
else
23+
echo
24+
echo "There was an error with the docker build, see the console log."
25+
echo
26+
fi;

5.018002/ubuntu

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
#!/bin/bash
2+
3+
source lib/core.sh
4+
5+
os() {
6+
installPackages() {
7+
local packages=("curl" "libssl-dev")
8+
runApt "${packages[@]}"
9+
}
10+
11+
local commands=(info updateApt installPackages cleanApt)
12+
run "${commands[@]}"
13+
}
14+
15+
install() {
16+
dirs() {
17+
sudo mkdir -p /opt/perl5/dists
18+
sudo mkdir -p /opt/perl5/build
19+
}
20+
21+
downloadPerlbrew() {
22+
curl -L http://install.perlbrew.pl | bash
23+
}
24+
25+
profile() {
26+
printf "export PERLBREW_HOME=/opt/.perlbrew\n" >> ~/.bashrc
27+
printf "source /opt/perl5/etc/bashrc\n" >> ~/.bashrc
28+
}
29+
30+
installPerl() {
31+
shell "perlbrew install $PERL_VER --switch -n -j 4"
32+
}
33+
34+
installCpanm() {
35+
shell "perlbrew install-cpanm"
36+
}
37+
38+
local commands=(dirs downloadPerlbrew profile installPerl installCpanm)
39+
run "${commands[@]}"
40+
}
41+
42+
main() {
43+
local commands=(os install)
44+
run "${commands[@]}"
45+
catch
46+
}
47+
48+
main

5.020002/Dockerfile

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# ------------------------------------------------------
2+
# Dockerfile
3+
# ------------------------------------------------------
4+
# image: docker-perl
5+
# tag: 5.020002
6+
# name: amuxbit/docker-perl
7+
# version: 1.0.0
8+
# repo: https://github.com/amuxbit/docker-perl
9+
# how-to: docker build --force-rm -t amuxbit/docker-perl:5.020002 .
10+
# run: docker run -t -i amuxbit/docker-perl:5.020002 /opt/perl5/perls/perl-5.20.2/bin/perl -e "print('hi from inside a container')"
11+
# run interactive: docker run -t -i docker-perl /bin/bash
12+
# requires: ubuntu
13+
14+
# ------------------------------------------------------
15+
16+
FROM amuxbit/docker-ubuntu:latest
17+
MAINTAINER amuxbit
18+
19+
# -----> Env
20+
ENV WORKDIR /tmp/build/docker-perl
21+
ENV PERL_VER perl-5.20.2
22+
ENV SYS_PERLBREW_ROOT /opt/perl5
23+
ENV PERLBREW_ROOT=$SYS_PERLBREW_ROOT
24+
ENV PERLBREW_HOME=/opt/.perlbrew
25+
ENV PATH=$PERLBREW_ROOT/perls/$PERL_VER/bin:$PATH
26+
ENV SHELL=/bin/bash
27+
28+
WORKDIR /tmp/build/docker-perl
29+
30+
# -----> Add assets
31+
ADD ./ubuntu $WORKDIR/ubuntu
32+
33+
# -----> Execute
34+
# Libs
35+
RUN git clone https://github.com/Amuxbit/container-automation-lib.git lib
36+
RUN chmod +x $WORKDIR/ubuntu
37+
RUN $WORKDIR/ubuntu

5.020002/build.sh

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#!/bin/bash
2+
3+
DOCKERNAME="amuxbit/docker-perl:5.020002"
4+
5+
time docker build --force-rm -t $DOCKERNAME .
6+
7+
if [ $? -eq 0 ]; then
8+
echo
9+
echo
10+
echo "To pull it"
11+
echo " docker pull $DOCKERNAME"
12+
echo
13+
echo "To use this docker:"
14+
echo " docker run -d -P $DOCKERNAME"
15+
echo
16+
echo "To run a specific perl program:"
17+
echo " docker run -t -i $DOCKERNAME /opt/perl5/perls/perl-5.20.2/bin/perl -e \"print('hi from inside a container running perl version ', $])\""
18+
echo
19+
echo "To run in interactive mode for debug:"
20+
echo " docker run -t -i $DOCKERNAME bash
21+
echo
22+
else
23+
echo
24+
echo "There was an error with the docker build, see the console log."
25+
echo
26+
fi;

5.020002/ubuntu

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
#!/bin/bash
2+
3+
source lib/core.sh
4+
5+
os() {
6+
installPackages() {
7+
local packages=("curl" "libssl-dev")
8+
runApt "${packages[@]}"
9+
}
10+
11+
local commands=(info updateApt installPackages cleanApt)
12+
run "${commands[@]}"
13+
}
14+
15+
install() {
16+
dirs() {
17+
sudo mkdir -p /opt/perl5/dists
18+
sudo mkdir -p /opt/perl5/build
19+
}
20+
21+
downloadPerlbrew() {
22+
curl -L http://install.perlbrew.pl | bash
23+
}
24+
25+
profile() {
26+
printf "export PERLBREW_HOME=/opt/.perlbrew\n" >> ~/.bashrc
27+
printf "source /opt/perl5/etc/bashrc\n" >> ~/.bashrc
28+
}
29+
30+
installPerl() {
31+
shell "perlbrew install $PERL_VER --switch -n -j 4"
32+
}
33+
34+
installCpanm() {
35+
shell "perlbrew install-cpanm"
36+
}
37+
38+
local commands=(dirs downloadPerlbrew profile installPerl installCpanm)
39+
run "${commands[@]}"
40+
}
41+
42+
main() {
43+
local commands=(os install)
44+
run "${commands[@]}"
45+
catch
46+
}
47+
48+
main

build.sh

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#!/bin/bash
2+
3+
BUILDS=(5.016003 5.018002 5.020002)
4+
LATEST="5.020002"
5+
6+
dockerLatest() {
7+
echo "amuxbit/docker-perl:latest -> amuxbit/docker-perl:$LATEST"
8+
docker tag -f amuxbit/docker-perl:$LATEST amuxbit/docker-perl:latest
9+
}
10+
11+
buildVersion() {
12+
pushd $1
13+
bash build.sh
14+
popd
15+
}
16+
17+
build() {
18+
runCmd buildVersion "${BUILDS[@]}"
19+
}
20+
21+
main() {
22+
if [ -e lib ]; then
23+
pushd lib
24+
git pull
25+
popd
26+
else
27+
git clone [email protected]:Amuxbit/container-automation-lib.git lib
28+
fi
29+
30+
source lib/core.sh
31+
32+
local commands=(setTrap info build dockerLatest)
33+
run "${commands[@]}"
34+
catch
35+
}
36+
37+
main

0 commit comments

Comments
 (0)