#!/bin/sh
#set -x	### debugging

pauseit()
{
  echo ""
  echo "listing rejects:"	#
  find . -name \*rej -print	#
#  echo "press a key... ($1)"	#
#  read junk	#
  echo ""
}

fixes()
{
  echo "[Perhaps] applying any fix patches..."
  for i in ../patch-fix-*[0-9]
  do
    patch < $i
  done
  pauseit 0
}

patch1()
{
  PATCH=1
  patch -p1 < ../patch-1.3.99.rr.compressed.1 ; pauseit a
  patch < ../patch-0.00.sec.patchlist.8.1.dtg ; pauseit b

  patch -p1 < ../patch-0.94.12.oe.__.1.dtg ; pauseit c
###  patch < ../patch-0.95.4.sec.expand_hook.1 ; pauseit d	### errors!
  patch < ../patch-1.3.25.sec.reverse_reply.1.dtg ; pauseit e
  patch < ../patch-1.3.25.sec._A.1.dtg ; pauseit ee
  patch < ../patch-1.3.27.sec.pgp_shorten.1.dtg ; pauseit eee
###  patch < ../patch-1.1.1.hb.save_alias.1 ; pauseit f	### pukes again (wonky to: field) in 1.3.28 and i am too lazy to fix it this time
  patch -p1 < ../patch-1.3.25i.devl.narrow_tree.1 ; pauseit g
  return 0

}

patch2()
{
  PATCH=2
  patch < ../patch-1.3.23.bj.hash_destroy.1 ; pauseit h
  patch < ../patch-1.3.23.bj.hash_destroy.1.1 ; pauseit hh	# for memory leak problems in original
###  patch < ../patch-1.3.23.bj.my_hdr_subject.1 ; pauseit i	# no mutt_send_hook -- problem!	### whoa -- causes <recipient_values> as subject! no answer...
  patch < ../patch-1.3.23.bj.noquote_hdr_term.1 ; pauseit ii
  patch < ../patch-1.3.24.bj.status-time.1.dtg ; pauseit j
  patch -p1 < ../patch-1.3.23.bj.current_shortcut.1.dtg ; pauseit k
  return 0

}

patch3()
{
  PATCH=3
  patch -p1 < ../patch-1.3.28.dgc.unbind.1.dtg ; pauseit L
  patch -p1 < ../patch-1.3.28.dgc.isalias.1 ; pauseit LL
  patch -p1 < ../patch-1.3.28.dgc.attach.5.dtg ; pauseit m
  patch -p1 < ../patch-1.3.28.dgc.xlabel_ext.5.dtg ; pauseit M
  patch -p1 < ../patch-1.3.28.dgc.deepif.1 ; pauseit n
  patch -p1 < ../patch-1.3.28.dgc.markmsg.2 ; pauseit o
  patch -p1 < ../patch-1.3.28.dgc.fmtpipe.1 ; pauseit oo
  patch < ../patch-1.2.mha.resend-fcc.1.dtg ; pauseit p
  return 0

}

patch4()
{
  PATCH=4
  patch -p1 < ../patch-1.3.28.cd.edit_threads.9.2 ; pauseit q
  patch -p1 < ../patch-1.3.28.cd.trash_folder.3.1 ; pauseit qq
  patch -p1 < ../patch-1.3.28.cd.ifdef.1 ; pauseit qqq
  patch -p1 < ../patch-1.3.28.cd.pattern_broken.1.tweak-for-dtg ; pauseit qqqq	### causes send-hooks to not execute ==> From: and $editor not tweaked
  patch -p1 < ../patch-1.3.28.cd.source_multiple.2 ; pauseit qqqqq
  patch -p1 < ../patch-1.3.20000609.mg.hdrcolor.1.dtg ; pauseit r
  return 0


}

patch5()
{
  PATCH=5
  patch -p1 < ../patch-1.3.28.dw.pgp-hook.3.dtg ; pauseit v
  patch -p1 < ../patch-1.3.28.dw.pgp-traditional.2.dtg ; pauseit vv
  patch < ../patch-1.3.23.2.nr.tag_prefix_cond ; pauseit w
  patch -p1 < ../patch-1.3.27.nr.unmailboxes.1 ; pauseit ww
  patch -p1 < ../patch-1.3.28.ats.mark_old.1 ; pauseit y
  patch -p1 < ../patch-1.3.24.ats.date_optional.1.dtg ; pauseit yy
}

PATCH=0
DIR=`pwd` ; DIR=`basename $DIR`

#[ "$1" = "-a" ] && AUTO=true || AUTO=false
case "$1" in -a|-t ) AUTO=true ; CONF=-t ;; * ) AUTO=false ; CONF= ;; esac
DESC=${2:-patched}

fixes

patch1
patch2
patch3
patch4
patch5

echo "last check for rejects:"
echo ""
echo ""
find . -name \*rej -print
echo ""
echo ""

[ $PATCH != 0 ] && cp ../patchlist.c.$PATCH patchlist.c

echo READY TO CONFIG...
[ $AUTO = true ] && (echo "(tarring for you...)" ; cd .. ; tar cpf ${DIR}i.$DESC-0$PATCH.tar $DIR ; gzip -9 ${DIR}i.$DESC-0$PATCH.tar &) || read config

../00.configure.sh $CONF

cp ../patchlist.c.$PATCH patchlist.c

echo READY TO MAKE...
[ $AUTO = true ] || read make

make keymap_defs.h
make update-doc
make
ls -lFtr | tail
echo 

[ $AUTO = true ] && cp ./mutt ../${DIR}i.$DESC-0$PATCH

beep
exit 0

(a)
doc/manual-4.html
doc/manual-6.html
doc/manual.sgml
doc/manual.sgml.head
doc/manual.txt
doc/muttrc.man
doc/muttrc.man.head
po/POTFILES.in
po/de.po

(c)
doc/manual.sgml

(k)
doc/manual.sgml.head

(n)
doc/manual.sgml.head
doc/manual.txt

(oo)
doc/manual.sgml.head
doc/manual.txt
doc/muttrc.man.head

(ooo)
doc/muttrc.man

(O)
doc/manual.sgml.head
doc/muttrc.man
doc/muttrc.man.head

(q)
doc/manual.sgml.head

(r)
doc/manual.sgml.head
doc/muttrc.man.head


