• Home
  • Raw
  • Download

Lines Matching +full:bpftool +full:-

3 This directory contains scripts for maintaining bpftool's GitHub mirror.
5 ## gh-label-release-assets.sh
22 ## sync-kernel.sh
24 ### Synchronize Linux and bpftool mirror
26 This script synchronizes the bpftool mirror with the bpftool sources (and
29 Synchronization is usually performed against the `bpf-next` and `bpf` trees,
30 because this is where most bpftool updates are merged.
34 because bpftool strongly relies on libbpf, and the libbpf GitHub mirror is used
36 to the latest `bpf-next` and `bpf` tree, and records to what kernel commits it
37 was brought up-to-date. To ensure optimal compatibility between the bpftool
50 $ git clone 'https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git' linux
52 $ git remote rename origin bpf-next
53 $ git branch --move master bpf-next
57 $ git switch --create bpf
58 $ git branch --set-upstream-to bpf/master
59 $ git switch bpf-next
63 `bpf-next` and `bpf`, pointing to the `master` branches of the `bpf-next` and
71 $ git pull --set-upstream bpf master
72 $ git switch bpf-next
73 $ git pull --set-upstream bpf-next master
76 Also make sure you have cloned the bpftool mirror recursively, to check out the
80 $ git submodule update --init
87 - Make sure that you have a Linux Git repository installed (see above), with
88 two branches `bpf-next` and `bpf` up-to-date.
89 - Make sure your mirror repository is clean.
94 $ ./sync-kernel.sh <bpftool-repo> <kernel-repo>
97 If working from within the bpftool repository, the path to the `<bpftool-repo>`
99 `<kernel-repo>`, is the path to the Linux Git repository mentioned earlier.
104 - Set `BPF_NEXT_BASELINE `to override the `bpf-next` tree commit to use (the
105 commit from the `bpf-next` branch with which the bpftool repository is
107 from `<bpftool-repo>/CHECKPOINT-COMMIT` is used.
108 - Set `BPF_BASELINE `to override the `bpf` tree commit to use (the commit from
109 the `bpf` branch with which the bpftool repository is currently synchronized,
111 `<bpftool-repo>/BPF-CHECKPOINT-COMMIT` is used.
112 - Set `BPF_NEXT_TIP_COMMIT` to override the `bpf-next` tree target commit (the
113 commit in `bpf-next` up to which the bpftool mirror should be synchronized).
114 If unset, use the hash from `<bpftool-repo>/libbpf/CHECKPOINT-COMMIT`, after
117 - Set `BPF_TIP_COMMIT` to override the `bpf` tree target commit (the commit in
118 `bpf` up to which the bpftool mirror should be synchronized). If unset, use
119 the hash from `<bpftool-repo>/libbpf/BPF-CHECKPOINT-COMMIT`, after the libbpf
121 - Set `SKIP_LIBBPF_UPDATE` to `1` to avoid updating libbpf automatically.
122 - Set `MANUAL_MODE` to `1` to manually control every cherry-picked commit.
126 This script synchronizes the bpftool mirror with upstream bpftool sources from
131 - First, the script updates the libbpf submodule, commits the change, and (by
133 for the bpftool mirror.
135 - In the Linux repository, from the `bpf-next` branch, it creates new branches,
136 filters out all non-bpftool-related files, and reworks the layout to
137 replicate the layout from the bpftool mirror.
139 - It generates patches for each commit touching `bpftool` or the required UAPI
143 - In a new branch in the bpftool mirror, the script applies (`git am`) each of
146 - Then the script checks out the `bpf` branch in the Linux repository, and
149 - On top of the new patches applied to the mirror, the script creates a last
153 - The next step is verification. The script applies to the Linux repository
154 (`bpf-next` branch) a patch containing known differences between the Linux
155 repository and the bpftool mirror. Then it looks for remaining differences
162 - At last, the script cleans up the temporary files and branches in the Linux