mbox series

[v3,00/20] Travis, Code Coverage and Cross Build updates

Message ID 20180702143021.18864-1-alex.bennee@linaro.org
Headers show
Series Travis, Code Coverage and Cross Build updates | expand

Message

Alex Bennée July 2, 2018, 2:30 p.m. UTC
Hi,

Friday's code dump suffered a little from a rushed posting before the
weekend so I spent this morning cleaning up a few of the rough edges.
This version is much better for it:

  - Dropped .shippable changes

In the end it looks like building the ppc image won't work in
QEMU as it's pre-ci environment hasn't enough in it to build the
qemu-ppc linux user we need.

  - Better boostrap rule naming

The rule is now docker-binfmt-image-debian-% which means you can now
build any arbitrarily named debian-% image. If we are going support
similar binfmt bootstrapping for other distributions I suggest we
follow a similar scheme. Does anyone know if anything as funky as
debootstrap exists for anything else?

With a minor tweak to the debootstrap helper script you can now
boostrap Ubuntu images as well.

  - Dropped docker.py env hack (not needed)
  - Removed stray whitespace changes

The rest works as I outlined in the v2 message:

  I've picked up some more of Philippe's fixes and in the process had
  another look at the problem of cross compiling powerpc. In the end the
  consensus seems to be a linux-user build was the best solution as
  there are still supported native powerpc toolchains in Jessie (until
  2020). So I dusted off my old linux-user patches and tries to plumb
  them in a little better. Assuming you have ppc-linux-user in your
  target list and it's a --static you can just run:

    docker-test-build@debian-powerpc-user-cross TARGET_LIST=ppc-softmmu

  And it does the right thing. Once the debian-powerpc-user base image
  is created you can change your configuration and things will still
  work (until the debian-bootstrap recipe is changed and needs to be
  re-built).

It would be great if I could get reviews for the final few patches:

  patch 0011/docker filter out linux user builds for mingw.patch
  patch 0016/docker drop QEMU build dep from bootstrap.patch
  patch 0017/docker debian bootstrap.pre allow customising of .patch
  patch 0018/docker add special handling for FROM debian user .patch
  patch 0019/docker add special rule for deboostrapped images.patch
  patch 0020/docker add linux user powered cross builder for Q.patch

I'll send a pull request tomorrow for soft-freeze.

Alex Bennée (14):
  build-system: remove per-test GCOV reporting
  .gitignore: add .gcov files
  docker: add gcovr to travis image
  travis: add gcovr summary for GCOV build
  build-system: add clean-coverage target
  build-system: add coverage-report target
  linux-user: introduce preexit_cleanup
  linux-user: add gcov support to preexit_cleanup
  docker: filter out linux-user builds for mingw
  docker: drop QEMU build-dep from bootstrap
  docker: debian-bootstrap.pre allow customising of variant/url
  docker: add special handling for FROM:debian-%-user targets
  docker: add special rule for deboostrapped images
  docker: add linux-user powered cross builder for QEMU

Philippe Mathieu-Daudé (6):
  travis: do not waste time cloning unused submodules
  travis: test out-of-tree builds
  docker: ubuntu: Update the package list before installing new ones
  docker: ubuntu: Use SDL2
  docker: Clean the MXE base image
  docker: Do not run tests in 'intermediate' images

 .gitignore                                    |  1 +
 .travis.yml                                   | 14 +++-
 MAINTAINERS                                   |  1 +
 Makefile                                      | 24 +++++++
 docs/devel/testing.rst                        | 21 ++++--
 linux-user/Makefile.objs                      |  2 +-
 linux-user/exit.c                             | 35 ++++++++++
 linux-user/qemu.h                             |  8 +++
 linux-user/syscall.c                          | 10 +--
 scripts/travis/coverage-summary.sh            | 27 +++++++
 tests/Makefile.include                        | 10 ---
 tests/docker/Makefile.include                 | 70 +++++++++++++++++--
 tests/docker/docker.py                        |  4 ++
 .../dockerfiles/debian-bootstrap.docker       |  2 -
 tests/docker/dockerfiles/debian-bootstrap.pre | 11 ++-
 .../debian-powerpc-user-cross.docker          | 13 ++++
 tests/docker/dockerfiles/debian8-mxe.docker   |  2 +-
 tests/docker/dockerfiles/travis.docker        |  2 +-
 tests/docker/dockerfiles/ubuntu.docker        |  8 +--
 19 files changed, 222 insertions(+), 43 deletions(-)
 create mode 100644 linux-user/exit.c
 create mode 100755 scripts/travis/coverage-summary.sh
 create mode 100644 tests/docker/dockerfiles/debian-powerpc-user-cross.docker

-- 
2.17.1

Comments

no-reply@patchew.org July 2, 2018, 7:20 p.m. UTC | #1
Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 20180702143021.18864-1-alex.bennee@linaro.org
Subject: [Qemu-devel] [PATCH v3 00/20] Travis, Code Coverage and Cross Build updates

=== TEST SCRIPT BEGIN ===
#!/bin/bash

BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0

git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram

commits="$(git log --format=%H --reverse $BASE..)"
for c in $commits; do
    echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
    if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
        failed=1
        echo
    fi
    n=$((n+1))
done

exit $failed
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
4873e71047 docker: add linux-user powered cross builder for QEMU
34f577cda4 docker: add special rule for deboostrapped images
bbbe49493e docker: add special handling for FROM:debian-%-user targets
3adc2ab166 docker: debian-bootstrap.pre allow customising of variant/url
61cd7bb1f4 docker: drop QEMU build-dep from bootstrap
0024785428 docker: Do not run tests in 'intermediate' images
0f142f6713 docker: Clean the MXE base image
8779053bc8 docker: ubuntu: Use SDL2
305dc1ad2f docker: ubuntu: Update the package list before installing new ones
58bd56936a docker: filter out linux-user builds for mingw
589cc92212 linux-user: add gcov support to preexit_cleanup
57dcf92bea linux-user: introduce preexit_cleanup
f67baf9f57 build-system: add coverage-report target
9d58118bc7 build-system: add clean-coverage target
d750d825dc travis: add gcovr summary for GCOV build
b1fa9ff6d6 docker: add gcovr to travis image
8d87f85bb0 .gitignore: add .gcov files
ce2d745b8d build-system: remove per-test GCOV reporting
87bc2150db travis: test out-of-tree builds
1b44d66f6e travis: do not waste time cloning unused submodules

=== OUTPUT BEGIN ===
Checking PATCH 1/20: travis: do not waste time cloning unused submodules...
Checking PATCH 2/20: travis: test out-of-tree builds...
Checking PATCH 3/20: build-system: remove per-test GCOV reporting...
Checking PATCH 4/20: .gitignore: add .gcov files...
Checking PATCH 5/20: docker: add gcovr to travis image...
Checking PATCH 6/20: travis: add gcovr summary for GCOV build...
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#58: 
new file mode 100755

total: 0 errors, 1 warnings, 49 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
Checking PATCH 7/20: build-system: add clean-coverage target...
Checking PATCH 8/20: build-system: add coverage-report target...
Checking PATCH 9/20: linux-user: introduce preexit_cleanup...
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#33: 
new file mode 100644

total: 0 errors, 1 warnings, 72 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
Checking PATCH 10/20: linux-user: add gcov support to preexit_cleanup...
ERROR: externs should be avoided in .c files
#27: FILE: linux-user/exit.c:23:
+extern void __gcov_dump(void);

total: 1 errors, 0 warnings, 17 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

Checking PATCH 11/20: docker: filter out linux-user builds for mingw...
Checking PATCH 12/20: docker: ubuntu: Update the package list before installing new ones...
Checking PATCH 13/20: docker: ubuntu: Use SDL2...
Checking PATCH 14/20: docker: Clean the MXE base image...
Checking PATCH 15/20: docker: Do not run tests in 'intermediate' images...
Checking PATCH 16/20: docker: drop QEMU build-dep from bootstrap...
Checking PATCH 17/20: docker: debian-bootstrap.pre allow customising of variant/url...
Checking PATCH 18/20: docker: add special handling for FROM:debian-%-user targets...
Checking PATCH 19/20: docker: add special rule for deboostrapped images...
Checking PATCH 20/20: docker: add linux-user powered cross builder for QEMU...
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#71: 
new file mode 100644

total: 0 errors, 1 warnings, 54 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
=== OUTPUT END ===

Test command exited with code: 1


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com