/
niceSOFT
/
iproute2
Обзор
Документация
Войти
/
niceSOFT
/
iproute2
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
scripts/iproute2-import-uapi
67 строк
2 KB
David Ahern
Merge remote-tracking branch 'main' into next
18 фев 2026, 05:30
18 фев 2026, 05:30
30ff1d8
Код
Авторство
О чём код?
#!/bin/bash -e # # iproute2-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='%h: ("%s")') 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 include/uapi find . -type f -name '*.h' -exec cp -v "${kobj}/hdr/include/{}" {} \; go_on=true while $go_on; do go_on=false while read f; do if [ "${f#asm/}" != "$f" ]; then # skip architecture dependent asm/ headers continue fi if [ -f "$f" ]; then # already present continue fi if [ ! -f "${kobj}/hdr/include/${f}" ]; then # not a kernel header continue fi echo "+ add $f" go_on=true mkdir -p "${f%/*}" cp "${kobj}/hdr/include/${f}" "${f}" done < <( find . -type f -name '*.[ch]' -exec sed -nre '\_^[[:blank:]]*#include[[:blank:]]<.+>_ { s_^[[:blank:]]*#include[[:blank:]]<([^>]*)>.*$_\1_ ; p }' {} \; \ | LC_ALL=C sort -u ) done popd rm -rf "$kobj" git add include/uapi git commit -n -s -F - <<EOT Update kernel headers Update kernel headers to commit: ${desc} EOT