mirror of
https://github.com/dynup/kpatch
synced 2024-12-23 21:52:07 +00:00
kpatch-build: get kernel version from vmlinux if source tree is used
If a kernel SRPM is used to get the kernel sources, the target kernel version is determined from the name of the SRPM. One cannot obtain the target kernel version this way if the source tree is used instead of an SRPM, so let us extract that information from vmlinux. Signed-off-by: Evgenii Shatokhin <eshatokhin@odin.com>
This commit is contained in:
parent
f152d00a62
commit
e169d82192
@ -283,12 +283,6 @@ rm -f "$LOGFILE"
|
||||
|
||||
trap cleanup EXIT INT TERM HUP
|
||||
|
||||
KVER=${ARCHVERSION%%-*}
|
||||
if [[ $ARCHVERSION =~ - ]]; then
|
||||
KREL=${ARCHVERSION##*-}
|
||||
KREL=${KREL%.*}
|
||||
fi
|
||||
|
||||
if [[ -n $USERSRCDIR ]]; then
|
||||
# save .config and vmlinux since they'll get removed with mrproper so
|
||||
# we can restore them later and be able to run kpatch-build multiple
|
||||
@ -300,6 +294,15 @@ if [[ -n $USERSRCDIR ]]; then
|
||||
[[ -z $VMLINUX ]] && VMLINUX="$USERSRCDIR"/vmlinux
|
||||
[[ ! -e "$VMLINUX" ]] && die "can't find vmlinux"
|
||||
[[ "$VMLINUX" = "$USERSRCDIR"/vmlinux ]] && cp -f "$VMLINUX" $TEMPDIR/vmlinux && VMLINUX=$TEMPDIR/vmlinux
|
||||
|
||||
# Extract the target kernel version from vmlinux in this case.
|
||||
ARCHVERSION=$(strings "$VMLINUX" | grep -e "^Linux version" | awk '{ print($3); }')
|
||||
fi
|
||||
|
||||
KVER=${ARCHVERSION%%-*}
|
||||
if [[ $ARCHVERSION =~ - ]]; then
|
||||
KREL=${ARCHVERSION##*-}
|
||||
KREL=${KREL%.*}
|
||||
fi
|
||||
|
||||
[[ -z $TARGETS ]] && TARGETS="vmlinux modules"
|
||||
|
Loading…
Reference in New Issue
Block a user