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 .dotest/file < $i > .dotest/info || exit 1
23applypatch .dotest/msg .dotest/patch .dotest/file .dotest/info "$2"
24ret=$?
25if [ $ret -ne 0 ]; then
26# 2 is a special exit code from applypatch to indicate that
27# the patch wasn't applied, but continue anyway
28[ $ret -ne 2 ] && exit $ret
29fi
30done
31# return to pristine
32rm -fr .dotest