Skip to content

[REF] common: Install tcl to be compatible with unbuffer command installed from expect-dev for odoo<=13.0

Running the following script:

for VERSION in 150 140 130 120
do
    echo -e "\nRunning in $VERSION without tcl"
    docker run -it --rm vauxoo/odoo-${VERSION}-image /bin/bash -c "apt update -qq && apt -yq install expect-dev > /dev/null && unbuffer ls --color=auto";
    echo -e "Ran in $VERSION without tcl\n"
    echo -e "\nRunning in $VERSION with tcl"
    docker run -it --rm vauxoo/odoo-${VERSION}-image /bin/bash -c "apt update -qq && apt -yq install expect-dev tcl8.6 > /dev/null && unbuffer ls --color=auto";
    echo -e "Ran in $VERSION with tcl\n"
done

You will see the following output:

Running in 150 without tcl
bin  boot  dev  etc  home  lib  lib32  lib64  libx32  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
Ran in 150 without tcl

Running in 150 with tcl
bin  boot  dev  etc  home  lib  lib32  lib64  libx32  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
Ran in 150 with tcl

Running in 140 without tcl
bin  boot  dev  etc  home  lib  lib32  lib64  libx32  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
Ran in 140 without tcl

Running in 140 with tcl
bin  boot  dev  etc  home  lib  lib32  lib64  libx32  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
Ran in 140 with tcl

Running in 130 without tcl
9 /usr/bin/unbuffer: 4: exec: tclsh8.6: not found
Ran in 130 without tcl

Running in 130 with tcl
9 bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
Ran in 130 with tcl

Running in 120 without tcl
140 /usr/bin/unbuffer: 4: exec: tclsh8.6: not found
Ran in 120 without tcl

Running in 120 with tcl
140 bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
Ran in 120 with tcl

Notice 130 and 120 has the following error without tcl but with tcl:

140 /usr/bin/unbuffer: 4: exec: tclsh8.6: not found

Also, notice 140 and 150 even is working well either installing tcl or not

Summary,

version -tcl +tcl
12.0 🍎 🍏
13.0 🍎 🍏
14.0 🍏 🍏
15.0 🍏 🍏

We could add this package in the Dockerfile of the images

but I tried to rebuild a 120 image and it started to raises new errors related with pip packages

So, it is risky to update the image

Better using this way to install only when it is needed and safe where it is not needed

Continue of !77 (closed)

Related to https://git.vauxoo.com/absa/absa/-/merge_requests/2511

I tried to use:

FROM quay.io/vauxoo/odootds-120-image:latest

RUN apt update && \
    apt install -y expect-dev tcl8.6

RUN pip3 install coverage \
    freezegun \
    mock \
    websocket-client

But this issue is not only related with Absa custom image

So, this way will fix the custom images and standard ones <=13.0

e.g. with error

https://git.vauxoo.com/vauxoo/vendor-bills/-/jobs/1016454#L149

Merge request reports