#!/bin/bash ############################################################################ # # Script for generating a kernel source tree with the SCST patches applied. # # Copyright (C) 2010 Bart Van Assche # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation, version 2 # of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # ############################################################################ function usage { echo "Usage: $0 " } script_dir="$(dirname $0)" if [ "${script_dir#/}" = "${script_dir}" ]; then script_dir="$PWD/$script_dir" fi scriptdir="${scriptdir%/.}" scst_dir="$(dirname "${script_dir}")" source "${script_dir}/kernel-functions" if [ "$1" = "" ]; then echo "Error: missing kernel version argument." exit 1 fi target="linux-$1" kernel_version="$(kernel_version "$1")" patchlevel="$(patchlevel "$1")" download_kernel "$1" || exit $? extract_kernel_tree "$1" || exit $? cd "${target}" || exit $? list-source-files "${scst_dir}" | grep -- "-${kernel_version}.*.patch$" | grep -v /in-tree/ | while read p; do if [ "${p/readahead-2.6.32.below11.patch//}" = "$p" \ -o "${patchlevel:-0}" -lt 11 ]; then echo "==== $p" patch -p1 <"${scst_dir}/$p" fi done