Uploaded image for project: 'XWiki Docker images'
  1. XWiki Docker images
  2. XDOCKER-421

The Docker image fails to build without BuildKit because TARGETARCH is empty

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • Unknown
    • N/A
    • N/A

    Description

      Problem

      The Dockerfile installs a controlled LibreOffice version and selects the download matching the image
      architecture by branching on the TARGETARCH build argument.

      TARGETARCH is only populated automatically by BuildKit. The Docker Official Images build
      infrastructure uses the classic builder, where an ARG TARGETARCH declaration with no
      --build-arg yields an empty value. The architecture selection therefore falls into its error branch
      and the build fails:

      Step 14/33 : RUN case "$TARGETARCH" in     amd64) ...
      Unsupported target architecture [] for the LibreOffice installation
      

      This broke the Docker Hub update for XWiki 18.6.0: all three 18-* variants failed to build. The
      same failure happens to any user building the image locally with BuildKit disabled
      (DOCKER_BUILDKIT=0).

      All generated Dockerfile}}s are affected. Only the {{18 ones failed so far because the other cycles
      are still published from commits predating the LibreOffice installation step; bumping any of them
      would fail the same way.

      Fix

      Read the architecture from the image itself with dpkg --print-architecture instead of relying on a
      build argument. This is the approach Docker Official Images recommends, it yields the same
      amd64/arm64 values, and it works whether or not BuildKit is in use.

      Attachments

        Issue Links

          Activity

            People

              vmassol Vincent Massol
              vmassol Vincent Massol
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: