blob: 0f480a79fc1799f12c19876ea4a188563a7ad8b6 [file] [edit]
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"]