}
verlt() {
+ # shellcheck disable=SC2015
[ "$1" = "$2" ] && return 1 || verlte "$1" "$2"
}
}
vergt() {
+ # shellcheck disable=SC2015
[ "$1" = "$2" ] && return 1 || vergte "$1" "$2"
}
git_clone_modules_sources() {
mkdir -p "$MODULES_GIT_DIR"
- git clone --depth=1 -b "${mversion}" "${mgitrepo}" "$MODULES_GIT_DIR"
+
+ # If the version starts with "refs/", checkout the specific git ref, otherwise treat it
+ # as a branch name.
+ if [ "${mversion:0:5}" = "refs/" ]; then
+ git clone --no-tags --depth=1 "${mgitrepo}" "$MODULES_GIT_DIR"
+ (cd "$MODULES_GIT_DIR" && git fetch origin "${mversion}" && git checkout FETCH_HEAD)
+ else
+ git clone --no-tags --depth=1 -b "${mversion}" "${mgitrepo}" "$MODULES_GIT_DIR"
+ fi
}
# Checkout a shallow kernel tree of the specified tag
rm -f "${LINUX_HDROBJ_DIR}/scripts/*.o"
rm -f "${LINUX_HDROBJ_DIR}/scripts/*/*.o"
- # On powerpc this object is required to link modules
+ # On powerpc 32bits this object is required to link modules
if [ "${karch}" = "powerpc" ]; then
- cp -a --parents arch/powerpc/lib/crtsavres.[So] "${LINUX_HDROBJ_DIR}/"
+ if [ "x$(scripts/config -s CONFIG_PPC64)" = "xy" ] && vergte "${kversion}" "5.4"; then
+ :
+ else
+ cp -a --parents arch/powerpc/lib/crtsavres.[So] "${LINUX_HDROBJ_DIR}/"
+ fi
fi
# On arm64 between 4.13 and 1.15 this object is required to build with ftrace support
# And regen the modules support files
make modules_prepare CC="$CC"
- # On powerpc this object is required to link modules
+ # On powerpc 32bits this object is required to link modules
if [ "${karch}" = "powerpc" ]; then
- make arch/powerpc/lib/crtsavres.o CC="$CC"
+ if [ "x$(scripts/config -s CONFIG_PPC64)" = "xy" ] && vergte "${kversion}" "5.4"; then
+ :
+ else
+ make arch/powerpc/lib/crtsavres.o CC="$CC"
+ fi
fi
# On arm64 between 4.13 and 4.15 this object is required to build with ftrace support
;;
esac
else
- echo "Not arch or cross_arch specified"
+ echo "No arch or cross_arch specified"
exit 1
fi