#!/bin/bash

# script to push new prebuilt kernel from cros builder

show_usage()
{
	echo usage: $0 [artifact_path] [rootdir]
	echo For: echo Artifacts[smaug]: smaug-release/R45-7199.0.0
	echo artifact_path=smaug-release/R45-7199.0.0
	exit 1
}

artifact_path=$1
TOP="$2"
if [ -z "$TOP" ]; then
	TOP="$(pwd)"
fi

gsbase=gs://chromeos-image-archive
# smaug-release - works well
# smaug-canary - works well - old, no longer works
# smaug-paladin - potentially has kernel changes that are not upstream
# trybot-smaug-paladin - works well with: cbuildbot --remote smaug-paladin
build=smaug-release
built_kernel="$TOP/device/google/dragon-kernel"
kernel="$TOP/kernel/private/dragon"
preamble="dragon: Update prebuilt kernel to"

if [ ! -d "$built_kernel" ]; then
	echo ERROR: missing prebuilt directory $built_kernel
	show_usage
fi

if [ ! -d "$kernel" ]; then
	echo ERROR: missing kernel directory $kernel
	show_usage
fi

if [ -z "$artifact_path" ]; then
	latest=$(gsutil.py cat ${gsbase}/${build}/LATEST-master)
	if [ $? -ne 0 ]; then
		echo ERROR: could not determine artifact_path
		exit 1
	fi
	artifact_path=${build}/${latest}
fi
gspath=${gsbase}/${artifact_path}

echo promoting kernel from $gspath

cd "$built_kernel"
gsutil.py cat ${gspath}/stripped-packages.tar | bsdtar -s '/.*kernel.*tbz2/kernel.tbz2/' -x -f - '*kernel*'
if [ $? -ne 0 ]; then
	echo ERROR: could not retrieve stripped-packages
	exit 1
fi
bsdtar -s '/.*vmlinuz-3.18.*/Image.fit/' -jxf kernel.tbz2 '*vmlinuz-3.18*'
rm kernel.tbz2
newrev=$(gsutil.py cat ${gspath}/manifest.xml | grep 'path="src/third_party/kernel/v3.18"' | sed -e 's/.*revision="\([0123456789abcdef]\+\).*/\1/')
oldrev=$(git log --oneline | head -1 | sed -e "s/.*${preamble} \(.*\)/\1/")

cd "$kernel"
git remote update
commitmsg=$(mktemp /tmp/msg.XXXXXX)
cat >>$commitmsg <<EOD
$preamble $newrev

Build: $artifact_path

Changes include:
EOD
git log --graph --oneline $oldrev..$newrev >> $commitmsg

cd "$built_kernel"
git add Image.fit
git commit -t $commitmsg
rm $commitmsg
