diff options
author | Michal Kubecek <mkubecek@suse.cz> | 2023-04-19 01:02:21 +0200 |
---|---|---|
committer | Michal Kubecek <mkubecek@suse.cz> | 2023-05-07 23:55:11 +0200 |
commit | 2886fe9614e4c6ff5003d9fa0e2acf2b58ed48a2 (patch) | |
tree | 810e8dbf647003c9cf16f4248921bedbc4608467 | |
parent | da2beb7afc2550b08d974b0ba07246855951571e (diff) | |
download | ethtool-2886fe9614e4c6ff5003d9fa0e2acf2b58ed48a2.tar.gz |
scripts: add ethtool-import-uapi
Add script to update sanitized uapi header copies. This script has been
available on kernel.org ethtool web for some time, adding it into the
repository is going to make it more at hand and will allow tracking its
history publicly.
Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
-rwxr-xr-x | scripts/ethtool-import-uapi | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/scripts/ethtool-import-uapi b/scripts/ethtool-import-uapi new file mode 100755 index 0000000..8e48332 --- /dev/null +++ b/scripts/ethtool-import-uapi @@ -0,0 +1,41 @@ +#!/bin/bash -e +# +# ethtool-import-uapi [commit] +# +# Imports sanitized copies of kernel uapi headers from <commit> (can be +# a commit id, a tag or a branch name). If the argument is omitted, +# commit currently checked out in the kernel repository is used. + +sn="${0##*/}" +export ARCH="x86_64" +mkopt="-j$(nproc)" || mkopt='' + +if [ ! -d "$LINUX_GIT" ]; then + echo "${sn}: please set LINUX_GIT to the location of kernel git" >&2 + exit 1 +fi + +pushd "$LINUX_GIT" +if [ -n "$1" ]; then + git checkout "$1" +fi +desc=$(git describe --exact-match 2>/dev/null \ + || git show -s --abbrev=12 --pretty='commit %h') +kobj=$(mktemp -d) +make $mkopt O="$kobj" allmodconfig +make $mkopt O="$kobj" prepare +make $mkopt O="$kobj" INSTALL_HDR_PATH="${kobj}/hdr" headers_install +popd + +pushd uapi +find . -type f -name '*.h' -exec cp -v "${kobj}/hdr/include/{}" {} \; +popd +rm -rf "$kobj" + +git add uapi +git commit -s -F - <<EOT +update UAPI header copies + +Update to kernel ${desc}. + +EOT |