Files
scst/ibmvstgt/generate-in-tree-patches
T

52 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
function file_to_patch {
echo "--- $1 "
echo "+++ $1 "
echo "@@ -1,0 +1,$(wc --lines $1) @@"
sed 's/^/+/' "$1"
}
function patch_to_file {
tail -n +4 | sed 's/^.//'
}
kernel_version="$1"
if [ "$1" = "" ]; then
echo "Error: missing kernel version argument."
exit 1
fi
if [ "${1#2.6.36}" = "$1" ]; then
# Exit silently for other kernel versions than 2.6.35.x.
exit 0
fi
mkdir -p in-tree-patches/"${kernel_version}"
for f in src/orig/"${kernel_version}"/*
do
g="${f#src/orig/${kernel_version}/}"
f1="$f"
f2="src/$g"
if [ "${f2#src/libsrp.h}" != "${f2}" ]; then
f2="src/libsrpnew.h${f2#src/libsrp.h}"
fi
if [ "${f2#src/srp.h}" != "${f2}" ]; then
f2="src/srpnew.h${f2#src/srp.h}"
fi
if [ "$g" = "Makefile" ]; then
f2="src/scsi-Makefile${f2#src/Makefile}"
fi
f3="in-tree-patches/${kernel_version}/$g.patch"
if [ "$f1" -nt "$f3" -o "$f2" -nt "$f3" ]; then
file_to_patch "$f2" | \
../scripts/specialize-patch -v kernel_version="$1" \
-v generating_upstream_patch_defined=1 \
-v config_scst_proc_undefined=1 | \
patch_to_file | \
diff -up "$f1" - > "$f3"
fi
done