summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorOlliver Schinagl <oliver@schinagl.nl>2024-03-21 10:27:44 +0100
committerRobert Marko <robimarko@gmail.com>2024-04-12 18:20:52 +0200
commit9f0cc3eb11074773f683ccd570991a0c74b17d72 (patch)
treefa335f0fd73fdb3943f8b319f9ad29745c36ce9c /scripts
parentf9ac106779022c41b393c80c0e1ac3e079db1343 (diff)
downloadopenwrt-9f0cc3eb11074773f683ccd570991a0c74b17d72.tar.gz
openwrt-9f0cc3eb11074773f683ccd570991a0c74b17d72.tar.bz2
openwrt-9f0cc3eb11074773f683ccd570991a0c74b17d72.zip
scripts/kernel_bump: Run script relative to the script dir
Determine the target directory based on the script location, which might work better in some cases, but at least also allows the script to be ran from with any location in the OpenWRT repository. Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/kernel_bump.sh24
1 files changed, 14 insertions, 10 deletions
diff --git a/scripts/kernel_bump.sh b/scripts/kernel_bump.sh
index 5c147d78a5..69045946e9 100755
--- a/scripts/kernel_bump.sh
+++ b/scripts/kernel_bump.sh
@@ -59,6 +59,7 @@ usage()
echo " -t Target version of kernel (e.g. 'v6.6' [TARGET_VERSION]')"
echo
echo 'All options can also be passed in environment variables (listed between [BRACKETS]).'
+ echo 'Note that this script must be run from within the OpenWrt git repository.'
echo 'Example: scripts/kernel_bump.sh -p realtek -s v6.1 -t v6.6'
}
@@ -74,6 +75,8 @@ cleanup()
init()
{
+ src_file="$(readlink -f "${0}")"
+ src_dir="${src_file%%"${src_file##*'/'}"}"
initial_branch="$(git rev-parse --abbrev-ref HEAD)"
initial_commitish="$(git rev-parse HEAD)"
@@ -82,6 +85,11 @@ init()
exit 1
fi
+ if [ -n "${src_dir##*'/scripts/'}" ]; then
+ echo "This script '${src_file}' is not in the scripts subdirectory, this is unexpected, cannot continue."
+ exit 1
+ fi
+
source_version="${source_version#v}"
target_version="${target_version#v}"
@@ -90,20 +98,16 @@ init()
bump_kernel()
{
- platform_name="${platform_name##*'/'}"
-
- if [ -z "${platform_name:-}" ]; then
- platform_name="${PWD##*'/'}"
+ if [ -z "${platform_name}" ] || \
+ [ -d "${PWD}/image" ]; then
+ platform_name="${PWD}"
fi
+ platform_name="${platform_name##*'/'}"
- if [ "${PWD##*'/'}" = "${platform_name}" ]; then
- _target_dir='./'
- else
- _target_dir="target/linux/${platform_name}"
- fi
+ _target_dir="${src_dir}/../target/linux/${platform_name}"
if [ ! -d "${_target_dir}/image" ]; then
- e_err 'Cannot find target linux directory.'
+ e_err "Cannot find target linux directory '${_target_dir:-not defined}'. Not in a platform directory, or -p not set."
exit 1
fi