inveniosoftware / docker-invenio

Docker base images for Invenio.
https://docker-invenio.readthedocs.io
MIT License
11 stars 34 forks source link

CentOS 8.2-2004 and Python 3.8 #32

Closed alexdutton closed 4 years ago

alexdutton commented 4 years ago

Here's a Dockerfile that supports Python 3.8, based on CentOS 8.2-2004.

I've not removed the pipenv version pin, as that's happening in #31.

I've not tested an InvenioRDM build based on this yet, but will do so soon.

alexdutton commented 4 years ago

I've now tested this with invenio-cli/InvenioRDM, and it seems to happily create a working instance.

~There's a couple of issues with the cookiecutter when you select Python 3.8, which I'll create a separate issue for.~ fixed

I think it would be worth cutting down the number of development-related system dependencies, as the stacked image size is 1.52GB, and includes things like kernel headers, lots of other library header packages, and X-related libraries. I'll create a separate issue for this, as it's outside the scope of this PR.

This is now good for review.

ppanero commented 4 years ago

Closes https://github.com/inveniosoftware/docker-invenio/issues/26

alexdutton commented 4 years ago

WRT the locale:

# set the locale
RUN localedef --quiet -c -i en_US -f UTF-8 en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8

previously resulted in:

[error] default character map file `ANSI_X3.4-1968' not found: No such file or directory
The command '/bin/sh -c localedef --quiet -c -i en_US -f UTF-8 en_US.UTF-8' returned a non-zero code: 4

It seems that additionally installing glibc-locale-source would resolve the error encountered when setting the locale.

My feeling is still that the base container build should be neutral on locale, and that it's best managed either in the instance container Dockerfile, or (I'd suggest) in the BABEL_* config in invenio.cfg.