blob: d93ac7e65dcb06a118f3ac93480d5cbee40f8fa5 [file] [edit]
ARG ARG_FROM=fedora:40 # 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=fedora_essential.sh
ARG DOCS=fedora_docs.sh
ARG DOCS_PDF=fedora_docs_pdf.sh
ARG PIP3=pip3_docs.sh
ENV TEXTOOLDIR=/opt/docs-build-tex-tools
ENV PATH="$PATH:$TEXTOOLDIR/tl/bin/x86_64-linux"
# 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 dnf update -y \
&& dnf 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 \
&& dnf autoremove -y \
&& dnf clean all -y \
&& rm -rf /temp
RUN git config --global --add safe.directory /docs
ENTRYPOINT ["/usr/bin/env", "make", "-C", "documentation/"]
CMD ["publish"]