mirror of
https://gitee.com/openharmony/third_party_libbpf
synced 2024-10-07 14:33:35 +00:00
dbdd8f3b34
Only keep stderr output in case of errors for kernel and selftests builds. Having a multi-thousand-line output isn't useful and slows down Github Actions' log view UI. Also quiet down wget's "progress bar" output. While at the same time see some totals from tar, just for the fun of it. Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
55 lines
1.5 KiB
Bash
Executable File
55 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -eu
|
|
|
|
source $(cd $(dirname $0) && pwd)/helpers.sh
|
|
|
|
CWD=$(pwd)
|
|
LIBBPF_PATH=$(pwd)
|
|
REPO_PATH=$1
|
|
|
|
KERNEL_ORIGIN=${KERNEL_ORIGIN:-https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git}
|
|
KERNEL_BRANCH=${KERNEL_BRANCH:-CHECKPOINT}
|
|
if [[ "${KERNEL_BRANCH}" = 'CHECKPOINT' ]]; then
|
|
echo "using CHECKPOINT sha1"
|
|
LINUX_SHA=$(cat ${LIBBPF_PATH}/CHECKPOINT-COMMIT)
|
|
else
|
|
echo "using ${KERNEL_BRANCH} sha1"
|
|
LINUX_SHA=$(git ls-remote ${KERNEL_ORIGIN} ${KERNEL_BRANCH} | awk '{print $1}')
|
|
fi
|
|
SNAPSHOT_URL=${KERNEL_ORIGIN}/snapshot/bpf-next-${LINUX_SHA}.tar.gz
|
|
|
|
echo REPO_PATH = ${REPO_PATH}
|
|
|
|
echo KERNEL_ORIGIN = ${KERNEL_ORIGIN}
|
|
echo LINUX_SHA = ${LINUX_SHA}
|
|
echo SNAPSHOT_URL = ${SNAPSHOT_URL}
|
|
|
|
if [ ! -d "${REPO_PATH}" ]; then
|
|
echo
|
|
travis_fold start pull_kernel_srcs "Fetching kernel sources"
|
|
|
|
mkdir -p $(dirname "${REPO_PATH}")
|
|
cd $(dirname "${REPO_PATH}")
|
|
# attempt to fetch desired bpf-next repo snapshot
|
|
if wget -nv ${SNAPSHOT_URL} && tar xf bpf-next-${LINUX_SHA}.tar.gz --totals ; then
|
|
mv bpf-next-${LINUX_SHA} $(basename ${REPO_PATH})
|
|
else
|
|
# but fallback to git fetch approach if that fails
|
|
mkdir -p $(basename ${REPO_PATH})
|
|
cd $(basename ${REPO_PATH})
|
|
git init
|
|
git remote add bpf-next ${KERNEL_ORIGIN}
|
|
# try shallow clone first
|
|
git fetch --depth 32 bpf-next
|
|
# check if desired SHA exists
|
|
if ! git cat-file -e ${LINUX_SHA}^{commit} ; then
|
|
# if not, fetch all of bpf-next; slow and painful
|
|
git fetch bpf-next
|
|
fi
|
|
git reset --hard ${LINUX_SHA}
|
|
fi
|
|
|
|
travis_fold end pull_kernel_srcs
|
|
fi
|