| ARG ARG_FROM=debian:12 # default value to avoid warning |
| FROM $ARG_FROM |
| |
| # RUN . ./yocto-docs-venv/bin/activate doesn't work because env variables set |
| # in RUN don't persist, so set up the virtualenv manually ahead of time. |
| # Unsetting env variables in Containerfile is difficult, so we hope it works |
| # fine without doing that for PYTHONHOME (see activate script content). |
| # Note that the actual location depends on WORKDIR at this layer in the |
| # container, and it must match the pwd when pip3_docs.sh is run in a later |
| # layer. This *must* be outside of any mount point otherwise it won't be |
| # available within the container. |
| ENV VIRTUAL_ENV=/yocto-docs-venv |
| ENV PATH="$VIRTUAL_ENV/bin:$PATH" |
| |
| # Set the WORKDIR to / so the pip3_docs.sh script will find our virtual env |
| # when calling '. ./yocto-docs-venv/bin/activate'. |
| WORKDIR / |
| |
| ARG INCLUDE_ESSENTIAL_PACKAGES=0 |
| ARG ESSENTIAL=ubuntu_essential.sh |
| ARG DOCS=ubuntu_docs.sh |
| ARG DOCS_PDF=ubuntu_docs_pdf.sh |
| ARG PIP3=pip3_docs.sh |
| |
| ENV DEBIAN_FRONTEND=noninteractive |
| ARG TZ=Europe/Vienna |
| |
| # relative to the location of the dockerfile |
| COPY --chmod=777 ${ESSENTIAL} /temp/host_packages_essential.sh |
| COPY --chmod=777 ${DOCS} /temp/host_packages_docs.sh |
| COPY --chmod=777 ${DOCS_PDF} /temp/host_packages_docs_pdf.sh |
| COPY --chmod=777 ${PIP3} /temp/pip3_docs.sh |
| |
| RUN ln -fs "/usr/share/zoneinfo/$TZ" /etc/localtime \ |
| && apt-get update \ |
| && apt-get install -y sudo \ |
| && if [ "$INCLUDE_ESSENTIAL_PACKAGES" = "1" ]; then yes | /temp/host_packages_essential.sh; fi \ |
| && yes | /temp/host_packages_docs.sh \ |
| && yes | /temp/host_packages_docs_pdf.sh \ |
| && yes | /temp/pip3_docs.sh \ |
| && apt-get --yes autoremove \ |
| && apt-get clean \ |
| && rm -rf /temp |
| |
| RUN git config --global --add safe.directory /docs |
| |
| ENTRYPOINT ["/usr/bin/env", "make", "-C", "documentation/"] |
| CMD ["publish"] |