Files
home-assistant-operating-sy…/scripts/update-kernel-upstream.sh
Jan Čermák b3e3d833a7 Include links to kernel changelogs on kernel bump (#3133)
Generate list of changelogs if we're bumping to the next patch release.
If major or minor version is bumped, the commit message contains only
the title, like before.

Also fix English in the commit title of RPi bump.
2024-02-01 11:27:52 +01:00

43 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
set -e
if [ -z "$1" ]; then
echo "Need a kernel version!"
exit 1
fi
# assume the version is same in all defconfigs, take ova as the reference
current_version=$(grep 'BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE' buildroot-external/configs/ova_defconfig | cut -d '"' -f 2)
# get X.Y.Z tokens of the current and new version
IFS='.' read -r -a current_version_parts <<< "$current_version"
IFS='.' read -r -a new_version_parts <<< "$1"
defconfigs=(buildroot-external/configs/{generic_aarch64,generic_x86_64,ova,tinker,odroid_*,khadas_vim3,green}_defconfig)
sed -i "s/BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE=\".*\"/BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE=\"$1\"/g" "${defconfigs[@]}"
sed -i "s/| \(Open Virtual Appliance\|Generic aarch64\|Generic x86-64\|Tinker Board\|ODROID-.*\|Khadas VIM3\|Home Assistant Green\) | .* |/| \1 | $1 |/g" Documentation/kernel.md
commit_message="Linux: Update kernel to $1"
# get links to changelog if we're only updating the Z part of the version
if [ "${current_version_parts[0]}" == "${new_version_parts[0]}" ] && \
[ "${current_version_parts[1]}" == "${new_version_parts[1]}" ] && \
[ "${current_version_parts[2]}" -lt "${new_version_parts[2]}" ]; then
commit_message="$commit_message"$'\n\n'
# loop from the current Z + 1 to the new Z
for (( z = current_version_parts[2] + 1; z <= new_version_parts[2]; z++ )); do
next_version="${current_version_parts[0]}.${current_version_parts[1]}.$z"
commit_message="${commit_message}* https://cdn.kernel.org/pub/linux/kernel/v${current_version_parts[0]}.x/ChangeLog-${next_version}"$'\n'
done
# remove trailing newline
commit_message=$(echo -n "$commit_message")
fi
git commit -m "$commit_message" "${defconfigs[@]}" Documentation/kernel.md
./scripts/check-kernel-patches.sh