1#!/bin/sh
2##
3## "dotest" is my stupid name for my patch-application script, which
4## I never got around to renaming after I tested it. We're now on the
5## second generation of scripts, still called "dotest".
6##
7## You give it a mbox-format collection of emails, and it will try to
8## apply them to the kernel using "applypatch"
9##
10## dotest [ -q ] mail_archive [Signoff_file]
11##
12rm -rf .dotest
13mkdir .dotest
14case $1 in
1516
-q) touch .dotest/.query_apply
17shift;;
18esac
19mailsplit $1 .dotest || exit 1
20for i in .dotest/*
21do
22mailinfo .dotest/msg .dotest/patch < $i > .dotest/info || exit 1
23stripspace < .dotest/msg > .dotest/msg-clean
24applypatch .dotest/msg-clean .dotest/patch .dotest/info "$2"
25ret=$?
26if [ $ret -ne 0 ]; then
27# 2 is a special exit code from applypatch to indicate that
28# the patch wasn't applied, but continue anyway
29[ $ret -ne 2 ] && exit $ret
30fi
31done
32# return to pristine
33rm -fr .dotest