| #!/bin/bash -eu | |
| . "$(dirname "$0")"/lsq-defs | |
| full_version="$(make kernelversion)" | |
| base_ver="$(base_version "$full_version")" | |
| export GIT_DIR="$PWD/.git" | |
| export QUILT_PATCHES="$(get_queue $base_ver)" | |
| commit="$1" | |
| patch_orig="$(mktemp)" | |
| patch_tmp="$(mktemp --tmpdir="$QUILT_PATCHES")" | |
| trap 'rm -f "$patch_orig" "$patch_tmp"' EXIT | |
| git format-patch -k "$commit" -1 --stdout > "$patch_orig" | |
| up_commit="$(sed -n 's/^commit \(.*\) upstream\.$/\1/p; | |
| s/^\[ Upstream commit \(.*\) \]$/\1/p; | |
| s/^(cherry picked from commit \(.*\))$/\1/p' \ | |
| "$patch_orig")" | |
| if [ -z "$up_commit" ]; then | |
| echo >&2 "W: Upstream commit hash not found in $commit\n"; | |
| up_commit=UNKNOWN | |
| fi | |
| echo "From: $MAIL_FROM" > "$patch_tmp" | |
| echo "Date: $(date -R)" >> "$patch_tmp" | |
| sed -n '/^Subject:/,/^\([^ ]\|$\)/ { s/^Subject: \(.*\)/Subject: Revert "\1"/p; /^[ ]/p }' < "$patch_orig" >> "$patch_tmp" | |
| echo >> "$patch_tmp" | |
| echo >> "$patch_tmp" "This reverts commit $commit, which was" | |
| echo >> "$patch_tmp" "commit $up_commit upstream." | |
| echo >> "$patch_tmp" | |
| echo >> "$patch_tmp" "INSERT EXPLANATION HERE" | |
| echo >> "$patch_tmp" | |
| echo >> "$patch_tmp" "Signed-off-by: $MAIL_FROM" | |
| echo >> "$patch_tmp" "---" | |
| interdiff -p1 "$patch_orig" /dev/null | grep -v '^reverted:' >> "$patch_tmp" | |
| patch="$(rename-patch "$patch_tmp")" | |
| echo "Adding $patch" | |
| basename "$patch" >> "$QUILT_PATCHES/series" |