SoC maintainers tools for their workflow

Clone this repo:

Branches

  1. 91e5d9b install: allow installing in a worktree by Alexandre Belloni · 4 weeks ago master
  2. a595ea1 cleanup-branches: Add script to cleanup local branches after new RC by Krzysztof Kozlowski · 7 weeks ago
  3. 877fa62 document-merges: v7.1-rc3 was backmerged via one DT branch by Krzysztof Kozlowski · 7 weeks ago
  4. aeb4319 document-merges: Bump to v7.1-rc1 and fix grep moans by Linus Walleij · 8 weeks ago
  5. f6a8d63 pw-review-soc: Update copyrights based on original work and check for Git tree by Krzysztof Kozlowski · 3 months ago

SoC Linux kernel maintainers group's tools for their workflow

Example workflow

git checkout soc/dt
soc-tools/pw-review-soc.sh

...

git fetch PULL_URL
git checkout -b FOO/dt32 FETCH_HEAD
git checkout -b FOO/dt64 FETCH_HEAD
git checkout -b FOO/drivers FETCH_HEAD

next-analysis/hist-pre-merge.sh origin/master..FETCH_HEAD

git checkout soc/dt
git rebase origin/soc/dt
git pull --log --signoff PULL_URL

... do some testing ...

git checkout for-next
git merge soc/dt
soc-tools/document-merges.sh
vi arch/arm/arm-soc-for-next-contents.txt
git add -p arch/arm/arm-soc-for-next-contents.txt && git commit --signoff -m "soc: document merges"
git push origin for-next soc/dt

Installation

  1. Clone the SoC kernel tree using SSH so you get an authenticated and writeable origin: git clone ssh://git@gitolite.kernel.org/pub/scm/linux/kernel/git/soc/soc.git

  2. Clone soc-tools: git clone git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc-tools.git

  3. Clone next-analysis: git clone https://github.com/krzk/next-analysis.git

  4. Go to the “soc” Linux kernel repository.

  5. Link the tool trees into your source tree for convenience: ln -s /path/to/soc-tools soc-tools ln -s /path/to/next-analysis next-analysis

  6. soc-tools/install.sh to install the git hooks

  7. Install tools used by the maintainer scripts: pipx install --user pwclient apt-get install / dnf -y mutt

  8. Put the required configuration into $HOME/.pwclientrc something like: --------8<----------8<--------- [options] default = linux-soc

    [linux-soc] backend = rest url = https://patchwork.kernel.org/api/1.2/ project = linux-soc token = 123456789abcdef... --------8<----------8<--------- The token is obtained from the kernel.org patchwork web UI, righ hand user drop-down, “View profile”, “Authentication” shows the API token for your user.

  9. In addition to this you need build scripts to build each target SoC architecture for testing. People use different things and different compilers (GCC or LLVM/Clang).

Uninstallation

  1. Go to the “soc” Linux kernel repository.
  2. HOOKS=“$(git rev-parse --git-dir)/hooks”; rm -f $HOOKS/post-commit $HOOKS/post-applypatch $HOOKS/post-merge

next-analysis from: https://github.com/krzk/next-analysis