Skip to content

"Patch series format unknown" with mbox file

I am attempting to apply patches to our ClangBuiltLinux builds to help limit the number of failures that we have. In doing so, I have generated an mbox file like so:

$ git -C $CBL_SRC/linux format-patch --base=origin/master --stdout origin/master.. > patches/mainline.mbox

When I go to test this via TuxSuite's container (as that is what we run our CI out of), I get the following error:

$ podman run \
            --volume=$HOME/.config/tuxsuite:/root/.config/tuxsuite \
            --volume=$PWD:$PWD \
            --workdir=$PWD \
            docker.io/tuxsuite/tuxsuite \
      tuxsuite build \
      --git-repo 'https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/' \
      --git-ref master \
      --target-arch arm \
      --toolchain clang-13 \
      --kconfig allmodconfig \
      --kconfig CONFIG_WERROR=n \
      --patch-series patches/mainline.mbox
Building Linux Kernel https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/ at master
Traceback (most recent call last):
  File "/usr/local/bin/tuxsuite", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.8/site-packages/tuxsuite/cli.py", line 939, in main
    cli.main(prog_name="tuxsuite")
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1062, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1668, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 763, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/tuxsuite/cli.py", line 448, in wrapper
    return f(**kw)
  File "/usr/local/lib/python3.8/site-packages/tuxsuite/cli.py", line 510, in build
    build.build()
  File "/usr/local/lib/python3.8/site-packages/tuxsuite/build.py", line 234, in build
    build_entry, patch = self.generate_build_request(plan=plan)
  File "/usr/local/lib/python3.8/site-packages/tuxsuite/build.py", line 213, in generate_build_request
    ) = handle_patch(self.patch_series)
  File "/usr/local/lib/python3.8/site-packages/tuxsuite/build.py", line 89, in handle_patch
    raise Exception("Patch series format unknown")
Exception: Patch series format unknown

This appears to be something with Debian's python3, as Arch Linux does not appear to have this issue.

$ podman run --rm -ti --volume=$PWD:$PWD --workdir=$PWD docker.io/tuxsuite/tuxsuite python3 -c 'import mimetypes; print(mimetypes.guess_type("patches/mainline.mbox"))'
(None, None)

$ python3 -c 'import mimetypes; print(mimetypes.guess_type("patches/mainline.mbox"))'
('application/mbox', None)

Here is the mbox file, in case it is useful for reproducing this.

cc @nickdesaulniers