diff --git a/sendmail-8.12.2-movefiles.patch b/sendmail-8.12.2-movefiles.patch
deleted file mode 100644
index 41d0870..0000000
--- a/sendmail-8.12.2-movefiles.patch
+++ /dev/null
@@ -1,96 +0,0 @@
---- sendmail-8.12.2/sendmail/sendmail.0	Sun Jan 13 14:57:15 2002
-+++ sendmail-8.12.2/sendmail/sendmail.0	Tue Feb 19 16:53:19 2002
-@@ -550,13 +550,13 @@
-        _m_a_i_l_._c_f.  Thus, these values are only approximations.
- 
- 
--        /etc/mail/aliases
-+        /etc/aliases
-               raw data for alias names
- 
-         /etc/mail/aliases.db
-               data base of alias names
- 
--        /etc/mail/sendmail.cf
-+        /etc/mail/sendmail.cf
-               configuration file
- 
-         /etc/mail/helpfile
---- sendmail-8.12.2/sendmail/sendmail.8	Fri Mar 23 17:10:00 2001
-+++ sendmail-8.12.2/sendmail/sendmail.8	Tue Feb 19 16:53:19 2002
-@@ -663,20 +663,20 @@
- .I http://www.sendmail.org/tips/DontBlameSendmail.html
- .SH FILES
- Except for the file
--.I /etc/mail/sendmail.cf
-+.I /etc/mail/sendmail.cf
- itself the following pathnames are all specified in
--.IR /etc/mail/sendmail.cf .
-+.IR /etc/mail/sendmail.cf .
- Thus, 
- these values are only approximations.
- .PP
- .TP
-- /etc/mail/aliases
-+ /etc/aliases
- raw data for alias names
- .TP
-  /etc/mail/aliases.db
- data base of alias names
- .TP
-- /etc/mail/sendmail.cf
-+ /etc/mail/sendmail.cf
- configuration file
- .TP
-  /etc/mail/helpfile
---- sendmail-8.12.10/sendmail/newaliases.0
-+++ sendmail-8.12.10/sendmail/newaliases.0
-@@ -10,7 +10,7 @@
- 
- DDEESSCCRRIIPPTTIIOONN
-        NNeewwaalliiaasseess  rebuilds  the  random access data base for the mail aliases
--       file /etc/mail/aliases.  It must be run each time this file is  changed
-+       file /etc/aliases.  It must be run each time this file is  changed
-        in order for the change to take effect.
- 
-        NNeewwaalliiaasseess is identical to ``sendmail -bi''.
-@@ -22,7 +22,7 @@
-        sseennddmmaaiill..
- 
- FFIILLEESS
--       /etc/mail/aliases   The mail aliases file
-+       /etc/aliases   The mail aliases file
- 
- SSEEEE AALLSSOO
-        aliases(5), sendmail(8)
---- sendmail-8.12.2/sendmail/newaliases.1	Tue Oct  9 23:23:17 2001
-+++ sendmail-8.12.2/sendmail/newaliases.1	Tue Feb 19 16:53:19 2002
-@@ -20,7 +20,7 @@
- .SH DESCRIPTION
- .B Newaliases
- rebuilds the random access data base for the mail aliases file
--/etc/mail/aliases.  It must be run each time this file is changed
-+/etc/aliases.  It must be run each time this file is changed
- in order for the change to take effect.
- .PP
- .B Newaliases
-@@ -40,7 +40,7 @@
- .B sendmail.
- .SH FILES
- .TP 2i
--/etc/mail/aliases
-+/etc/aliases
- The mail aliases file
- .SH SEE ALSO
- aliases(5), sendmail(8)
---- sendmail-8.12.2/cf/m4/cfhead.m4	Sat Jul 21 23:25:37 2001
-+++ sendmail-8.12.2/cf/m4/cfhead.m4	Tue Feb 19 16:53:19 2002
-@@ -255,7 +255,7 @@
- define(`DATABASE_MAP_TYPE', `hash')
- 
- # set up default values for options
--define(`ALIAS_FILE', `MAIL_SETTINGS_DIR`'aliases')
-+define(`ALIAS_FILE', `/etc/aliases')
- define(`confMAILER_NAME', ``MAILER-DAEMON'')
- define(`confFROM_LINE', `From $g $d')
- define(`confOPERATORS', `.:%@!^/[]+')
diff --git a/sendmail-8.14.1-gcc2690.patch b/sendmail-8.14.1-gcc2690.patch
deleted file mode 100644
index 5bbd109..0000000
--- a/sendmail-8.14.1-gcc2690.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -up sendmail-8.14.1/libsmdb/smdb2.c.gcc2690 sendmail-8.14.1/libsmdb/smdb2.c
---- sendmail-8.14.1/libsmdb/smdb2.c.gcc2690	2003-06-13 23:33:11.000000000 +0200
-+++ sendmail-8.14.1/libsmdb/smdb2.c	2007-08-27 12:03:09.000000000 +0200
-@@ -523,7 +523,7 @@ smdb_db_open_internal(db_name, db_type, 
- 		}
- 	}
- 
--	result = (*db)->open(*db,
-+	result = ((*db)->open)(*db,
- 			     DBTXN	/* transaction for DB 4.1 */
- 			     db_name, NULL, db_type, db_flags, DBMMODE);
- 	if (result != 0)
-diff -up sendmail-8.14.1/sendmail/udb.c.gcc2690 sendmail-8.14.1/sendmail/udb.c
---- sendmail-8.14.1/sendmail/udb.c.gcc2690	2006-12-19 20:49:51.000000000 +0100
-+++ sendmail-8.14.1/sendmail/udb.c	2007-08-27 12:03:53.000000000 +0200
-@@ -1007,7 +1007,7 @@ _udbx_init(e)
- 				}
- 				else
- 				{
--					ret = up->udb_dbp->open(up->udb_dbp,
-+				  ret = (up->udb_dbp->open)(up->udb_dbp,
- 								DBTXN
- 								up->udb_dbname,
- 								NULL,
-diff -up sendmail-8.14.1/sendmail/map.c.gcc2690 sendmail-8.14.1/sendmail/map.c
---- sendmail-8.14.1/sendmail/map.c.gcc2690	2007-04-03 23:33:14.000000000 +0200
-+++ sendmail-8.14.1/sendmail/map.c	2007-08-27 12:03:41.000000000 +0200
-@@ -2165,7 +2165,7 @@ db_map_open(map, mode, mapclassname, dbt
- #  endif /* DB_HASH_NELEM */
- 		if (ret == 0 && db != NULL)
- 		{
--			ret = db->open(db,
-+		  ret = (db->open)(db,
- 					DBTXN	/* transaction for DB 4.1 */
- 					buf, NULL, dbtype, flags, DBMMODE);
- 			if (ret != 0)
diff --git a/sendmail-8.14.0-makemapman.patch b/sendmail-8.14.3-makemapman.patch
similarity index 50%
rename from sendmail-8.14.0-makemapman.patch
rename to sendmail-8.14.3-makemapman.patch
index 3af3065..b3cfa91 100644
--- a/sendmail-8.14.0-makemapman.patch
+++ b/sendmail-8.14.3-makemapman.patch
@@ -1,7 +1,20 @@
---- sendmail-8.12.2/devtools/OS/Linux	Tue Feb 19 15:23:34 2002
-+++ sendmail-8.12.2/devtools/OS/Linux	Tue Feb 19 15:24:05 2002
-@@ -1,7 +1,7 @@
- #	$Id: Linux,v 8.29 2001/08/15 08:55:54 guenther Exp $
+diff -up sendmail-8.14.3/cf/cf/Build.makemapman sendmail-8.14.3/cf/cf/Build
+--- sendmail-8.14.3/cf/cf/Build.makemapman	1999-03-02 03:37:12.000000000 +0100
++++ sendmail-8.14.3/cf/cf/Build	2008-12-02 18:04:37.000000000 +0100
+@@ -18,7 +18,7 @@
+ SMROOT=${SMROOT-../..}
+ BUILDTOOLS=${BUILDTOOLS-$SMROOT/devtools}
+ 
+-M4=`sh $BUILDTOOLS/bin/find_m4.sh`
++M4=/usr/bin/m4
+ ret=$?
+ if [ $ret -ne 0 ]
+ then
+diff -up sendmail-8.14.3/devtools/OS/Linux.makemapman sendmail-8.14.3/devtools/OS/Linux
+--- sendmail-8.14.3/devtools/OS/Linux.makemapman	2002-03-22 00:59:25.000000000 +0100
++++ sendmail-8.14.3/devtools/OS/Linux	2008-12-02 18:06:18.000000000 +0100
+@@ -5,7 +5,7 @@ dnl	Place personal settings in devtools/
+ 
  define(`confDEPEND_TYPE', `CC-M')
  define(`confSM_OS_HEADER', `sm_os_linux')
 -define(`confMANROOT', `/usr/man/man')
@@ -9,7 +22,7 @@
  define(`confLIBS', `-ldl')
  define(`confEBINDIR', `/usr/sbin')
  APPENDDEF(`confLIBSEARCH', `crypt nsl')
-@@ -11,6 +11,8 @@
+@@ -15,6 +15,8 @@ define(`confMTCCOPTS', `-D_REENTRANT')
  define(`confMTLDOPTS', `-lpthread')
  define(`confLDOPTS_SO', `-shared')
  define(`confSONAME',`-soname')
@@ -18,9 +31,10 @@
  
  ifelse(confBLDVARIANT, `DEBUG',
  dnl Debug build
---- sendmail-8.12.2/makemap/makemap.8	Tue Oct  9 23:23:02 2001
-+++ sendmail-8.12.2/makemap/makemap.8	Tue Feb 19 15:23:34 2002
-@@ -50,12 +50,6 @@
+diff -up sendmail-8.14.3/makemap/makemap.8.makemapman sendmail-8.14.3/makemap/makemap.8
+--- sendmail-8.14.3/makemap/makemap.8.makemapman	2008-05-03 01:07:48.000000000 +0200
++++ sendmail-8.14.3/makemap/makemap.8	2008-12-02 18:04:37.000000000 +0100
+@@ -52,12 +52,6 @@ selected using the
  parameter.  
  They may be
  .TP
@@ -33,20 +47,10 @@
  btree
  B-Tree format maps.  
  This requires the new Berkeley DB 
---- sendmail-8.12.2/cf/cf/Build	Mon Mar  1 21:37:12 1999
-+++ sendmail-8.12.2/cf/cf/Build	Tue Feb 19 15:23:34 2002
-@@ -18,7 +18,7 @@
- SMROOT=${SMROOT-../..}
- BUILDTOOLS=${BUILDTOOLS-$SMROOT/devtools}
- 
--M4=`sh $BUILDTOOLS/bin/find_m4.sh`
-+M4=/usr/bin/m4
- ret=$?
- if [ $ret -ne 0 ]
- then
---- sendmail-8.12.2/rmail/rmail.c	Tue Sep 18 17:45:29 2001
-+++ sendmail-8.12.2/rmail/rmail.c	Tue Feb 19 15:23:34 2002
-@@ -276,7 +276,6 @@
+diff -up sendmail-8.14.3/rmail/rmail.c.makemapman sendmail-8.14.3/rmail/rmail.c
+--- sendmail-8.14.3/rmail/rmail.c.makemapman	2001-09-18 23:45:29.000000000 +0200
++++ sendmail-8.14.3/rmail/rmail.c	2008-12-02 18:04:37.000000000 +0100
+@@ -276,7 +276,6 @@ main(argc, argv)
  	args[i++] = _PATH_SENDMAIL;	/* Build sendmail's argument list. */
  	args[i++] = "-G";		/* relay submission */
  	args[i++] = "-oee";		/* No errors, just status. */
diff --git a/sendmail-8.14.3-movefiles.patch b/sendmail-8.14.3-movefiles.patch
new file mode 100644
index 0000000..dbd41be
--- /dev/null
+++ b/sendmail-8.14.3-movefiles.patch
@@ -0,0 +1,82 @@
+diff -up sendmail-8.14.3/cf/m4/cfhead.m4.movefiles sendmail-8.14.3/cf/m4/cfhead.m4
+--- sendmail-8.14.3/cf/m4/cfhead.m4.movefiles	2004-01-28 23:02:22.000000000 +0100
++++ sendmail-8.14.3/cf/m4/cfhead.m4	2008-12-02 18:07:06.000000000 +0100
+@@ -259,7 +259,7 @@ ifdef(`MAIL_SETTINGS_DIR', , `define(`MA
+ define(`DATABASE_MAP_TYPE', `hash')
+ 
+ # set up default values for options
+-define(`ALIAS_FILE', `MAIL_SETTINGS_DIR`'aliases')
++define(`ALIAS_FILE', `/etc/aliases')
+ define(`confMAILER_NAME', ``MAILER-DAEMON'')
+ define(`confFROM_LINE', `From $g $d')
+ define(`confOPERATORS', `.:%@!^/[]+')
+diff -up sendmail-8.14.3/sendmail/newaliases.0.movefiles sendmail-8.14.3/sendmail/newaliases.0
+--- sendmail-8.14.3/sendmail/newaliases.0.movefiles	2008-05-03 05:38:22.000000000 +0200
++++ sendmail-8.14.3/sendmail/newaliases.0	2008-12-02 18:07:06.000000000 +0100
+@@ -10,7 +10,7 @@ SSYYNNOOPPSSIISS
+ 
+ DDEESSCCRRIIPPTTIIOONN
+        NNeewwaalliiaasseess  rebuilds  the  random access data base for the mail aliases
+-       file /etc/mail/aliases.  It must be run each time this file is  changed
++       file /etc/aliases.  It must be run each time this file is  changed
+        in order for the change to take effect.
+ 
+        NNeewwaalliiaasseess is identical to ``sendmail -bi''.
+@@ -22,7 +22,7 @@ DDEESSCCRRIIPPTTIIOONN
+        sseennddmmaaiill..
+ 
+ FFIILLEESS
+-       /etc/mail/aliases   The mail aliases file
++       /etc/aliases   The mail aliases file
+ 
+ SSEEEE AALLSSOO
+        aliases(5), sendmail(8)
+diff -up sendmail-8.14.3/sendmail/newaliases.1.movefiles sendmail-8.14.3/sendmail/newaliases.1
+--- sendmail-8.14.3/sendmail/newaliases.1.movefiles	2001-10-10 05:23:17.000000000 +0200
++++ sendmail-8.14.3/sendmail/newaliases.1	2008-12-02 18:07:06.000000000 +0100
+@@ -20,7 +20,7 @@ newaliases
+ .SH DESCRIPTION
+ .B Newaliases
+ rebuilds the random access data base for the mail aliases file
+-/etc/mail/aliases.  It must be run each time this file is changed
++/etc/aliases.  It must be run each time this file is changed
+ in order for the change to take effect.
+ .PP
+ .B Newaliases
+@@ -40,7 +40,7 @@ puts a special token into the data base 
+ .B sendmail.
+ .SH FILES
+ .TP 2i
+-/etc/mail/aliases
++/etc/aliases
+ The mail aliases file
+ .SH SEE ALSO
+ aliases(5), sendmail(8)
+diff -up sendmail-8.14.3/sendmail/sendmail.0.movefiles sendmail-8.14.3/sendmail/sendmail.0
+--- sendmail-8.14.3/sendmail/sendmail.0.movefiles	2008-05-03 05:38:22.000000000 +0200
++++ sendmail-8.14.3/sendmail/sendmail.0	2008-12-02 18:09:10.000000000 +0100
+@@ -430,10 +430,10 @@ FFIILLEESS
+        are only approximations.
+ 
+ 
+-        /etc/mail/aliases
++        /etc/aliases
+               raw data for alias names
+ 
+-        /etc/mail/aliases.db
++        /etc/aliases.db
+               data base of alias names
+ 
+         /etc/mail/sendmail.cf
+diff -up sendmail-8.14.3/sendmail/sendmail.8.movefiles sendmail-8.14.3/sendmail/sendmail.8
+--- sendmail-8.14.3/sendmail/sendmail.8.movefiles	2007-08-02 07:42:33.000000000 +0200
++++ sendmail-8.14.3/sendmail/sendmail.8	2008-12-02 18:07:06.000000000 +0100
+@@ -706,7 +706,7 @@ Thus, 
+ these values are only approximations.
+ .PP
+ .TP
+- /etc/mail/aliases
++ /etc/aliases
+ raw data for alias names
+ .TP
+  /etc/mail/aliases.db
diff --git a/sendmail-redhat.mc b/sendmail-redhat.mc
index 919feba..e49edd1 100644
--- a/sendmail-redhat.mc
+++ b/sendmail-redhat.mc
@@ -5,7 +5,7 @@ dnl # /etc/mail/sendmail.mc, you will need to regenerate the
 dnl # /etc/mail/sendmail.cf file by confirming that the sendmail-cf package is
 dnl # installed and then performing a
 dnl #
-dnl #     make -C /etc/mail
+dnl #     /etc/mail/make
 dnl #
 include(`@@PATH@@/m4/cf.m4')dnl
 VERSIONID(`setup for linux')dnl
diff --git a/sendmail.etc-mail-Makefile b/sendmail.etc-mail-Makefile
index 50d71b9..e80f4a9 100644
--- a/sendmail.etc-mail-Makefile
+++ b/sendmail.etc-mail-Makefile
@@ -1,41 +1,8 @@
-# These could be used by sendmail, but are not part of the default install.
-# To use them you will have to generate your own sendmail.cf with
-#  FEATURE('whatever')
-#
-POSSIBLE += $(shell test -f bitdomain     && echo bitdomain.db)
-POSSIBLE += $(shell test -f uudomain      && echo uudomain.db)
-POSSIBLE += $(shell test -f genericstable && echo genericstable.db)
-POSSIBLE += $(shell test -f userdb	  && echo userdb.db)
-POSSIBLE += $(shell test -f authinfo      && echo authinfo.db)
-CFFILES   = sendmail.cf submit.cf
+# Pass everything to the make script
 
+all:
+%: force
+	@./make $@
+force:;
 
-all: ${CFFILES} ${POSSIBLE} virtusertable.db access.db domaintable.db mailertable.db
-
-userdb.db: userdb
-	@makemap btree $@ < $<
-
-%.db: %
-	@makemap hash $@ < $<
-
-%.cf: %.mc
-	@if test -f /usr/share/sendmail-cf/m4/cf.m4; then \
-		umask 022; \
-		[ -e $@ ] && mv -f $@ $@.bak; \
-		m4 $< > $@; \
-	else \
-		echo -e "WARNING: '$<' is modified. Please install package sendmail-cf to update your configuration."; \
-	fi
-
-clean:
-	rm -f *.db *~
-
-start:
-	service sendmail start
-
-stop:
-	service sendmail stop
-
-restart:
-	service sendmail restart
-
+$(MAKEFILE_LIST):;
diff --git a/sendmail.etc-mail-make b/sendmail.etc-mail-make
new file mode 100644
index 0000000..6e962d8
--- /dev/null
+++ b/sendmail.etc-mail-make
@@ -0,0 +1,89 @@
+#!/bin/sh
+# Generate db and cf files if necessary. This used to be handled by
+# /etc/mail/Makefile.
+
+teste() {
+  if ! test -e "$1"; then
+    echo "$1 doesn't exist"
+    exit 2
+  fi
+}
+
+makedb() {
+  teste "${1%.db}"
+
+  if [ -z "$SM_FORCE_DBREBUILD" ]; then
+    test "${1%.db}" -nt "$1" || return 0
+  fi
+
+  if [ "$1" = userdb.db ]; then
+    makemap btree "$1" < "${1%.db}"
+  else
+    makemap hash "$1" < "${1%.db}"
+  fi
+}
+
+makecf() {
+  mc=${1%.cf}.mc
+
+  teste "$mc"
+
+  if [ -z "$SM_FORCE_CFREBUILD" ]; then
+    test "$mc" -nt "$1" || return 0
+  fi
+
+  if test -f /usr/share/sendmail-cf/m4/cf.m4; then
+    umask 022
+    [ -e "$1" ] && mv -f "$1" "$1".bak
+    m4 "$mc" > "$1"
+  else
+    echo "WARNING: '$mc' is modified. Please install package sendmail-cf to update your configuration."
+    exit 15
+  fi
+}
+
+makeall() {
+  # These could be used by sendmail, but are not part of the default install.
+  # To use them you will have to generate your own sendmail.cf with
+  # FEATURE('whatever')
+  test -f bitdomain && makedb bitdomain.db
+  test -f uudomain && makedb uudomain.db
+  test -f genericstable && makedb genericstable.db
+  test -f userdb && makedb userdb.db
+  test -f authinfo && makedb authinfo.db
+
+  makedb virtusertable.db
+  makedb access.db
+  makedb domaintable.db
+  makedb mailertable.db
+
+  makecf sendmail.cf
+  makecf submit.cf
+}
+
+cd /etc/mail || exit 1
+
+[ $# -eq 0 ] && makeall
+
+for target; do
+  case "$target" in
+    *.db)
+      makedb "$target"
+      ;;
+    *.cf)
+      makecf "$target"
+      ;;
+    all)
+      makeall
+      ;;
+    clean)
+      rm -f *.db *~
+      ;;
+    start|stop|restart)
+      service sendmail "$target"
+      ;;
+    *)
+      echo "Don't know how to make $target"
+      exit 2
+  esac
+done
diff --git a/sendmail.init b/sendmail.init
index 2dd0ded..87f3b8f 100644
--- a/sendmail.init
+++ b/sendmail.init
@@ -43,19 +43,21 @@ fi
 
 prog="sendmail"
 
+updateconf() {
+    /etc/mail/make > /dev/null 2>&1
+    if [ $? -eq 15 ]; then
+	echo -n $"Package sendmail-cf is required to update configuration."
+	warning
+	echo
+    fi
+    /usr/bin/newaliases > /dev/null 2>&1
+}
+
 start() {
     # Start daemons.
     ret=0
+    updateconf
     echo -n $"Starting $prog: "
-    if [ -x /usr/bin/make -a -f /etc/mail/Makefile ]; then
-	make all -C /etc/mail -s > /dev/null
-    else
-	for i in virtusertable access domaintable mailertable ; do
-	    [ -f /etc/mail/$i ] && makemap hash /etc/mail/$i < /etc/mail/$i
-	    let ret+=$?
-	done
-    fi
-    /usr/bin/newaliases > /dev/null 2>&1
     daemon /usr/sbin/sendmail $([ "x$DAEMON" = xyes ] && echo -bd) \
 	$([ -n "$QUEUE" ] && echo -q$QUEUE) $SENDMAIL_OPTARG
     RETVAL=$?
@@ -82,20 +84,8 @@ start() {
 }
 
 reload() {
-    # Stop daemons.
-    ret=0
+    updateconf
     echo -n $"Reloading $prog: "
-    /usr/bin/newaliases > /dev/null 2>&1
-    if [ -x /usr/bin/make -a -f /etc/mail/Makefile ]; then
-	make all -C /etc/mail -s > /dev/null
-    else
-	for i in virtusertable access domaintable mailertable ; do
-	    [ -f /etc/mail/$i ] && makemap hash /etc/mail/$i < /etc/mail/$i
-	done
-    fi
-    daemon /usr/sbin/sendmail $([ "x$DAEMON" = xyes ] && echo -bd) \
-	$([ -n "$QUEUE" ] && echo -q$QUEUE)
-    RETVAL=$?
     killproc sendmail -HUP
     RETVAL=$?
     echo
diff --git a/sendmail.nm-dispatcher b/sendmail.nm-dispatcher
new file mode 100644
index 0000000..5d30871
--- /dev/null
+++ b/sendmail.nm-dispatcher
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+if [ "$2" = "up" ] || [ "$2" = "down" ]; then
+	/sbin/service sendmail reload || :
+fi
diff --git a/sendmail.spec b/sendmail.spec
index d2baf42..8029f2a 100644
--- a/sendmail.spec
+++ b/sendmail.spec
@@ -1,5 +1,3 @@
-%define _default_patch_fuzz 2
-
 # package options
 %define with_tls	yes
 %define with_sasl1	no
@@ -17,13 +15,15 @@
 Summary: A widely used Mail Transport Agent (MTA)
 Name: sendmail
 Version: 8.14.3
-Release: 1%{?dist}
+Release: 2%{?dist}
 License: Sendmail
 Group: System Environment/Daemons
 URL: http://www.sendmail.org/
 Provides: MTA smtpdaemon server(smtp)
 Source0: ftp://ftp.sendmail.org/pub/sendmail/sendmail.%{version}.tar.gz
 Source1: sendmail.init
+Source2: sendmail.nm-dispatcher
+Source3: sendmail.etc-mail-make
 Source4: sendmail.sysconfig
 Source5: sendmail.etc-mail-Makefile
 Source6: sendmail-redhat.mc
@@ -37,9 +37,9 @@ Source14: sendmail-etc-mail-local-host-names
 Source15: sendmail-etc-mail-mailertable
 Source16: sendmail-etc-mail-trusted-users
 Source17: sendmail-etc-mail-virtusertable
-Patch3: sendmail-8.14.0-makemapman.patch
+Patch3: sendmail-8.14.3-makemapman.patch
 Patch4: sendmail-8.14.3-smrsh_paths.patch
-Patch5: sendmail-8.12.2-movefiles.patch
+Patch5: sendmail-8.14.3-movefiles.patch
 Patch7: sendmail-8.13.7-pid.patch
 Patch9: sendmail-8.12.7-hesiod.patch
 Patch10: sendmail-8.12.7-manpage.patch
@@ -49,7 +49,6 @@ Patch13: sendmail-8.13.7-aliases_dir.patch
 Patch14: sendmail-8.13.7-vacation.patch
 Patch15: sendmail-8.14.1-noversion.patch
 Patch16: sendmail-8.13.1-localdomain.patch
-Patch17: sendmail-8.14.1-gcc2690.patch
 Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: tcp_wrappers-devel
 BuildRequires: db4-devel
@@ -142,7 +141,6 @@ your sendmail.cf file.
 %patch14 -p1 -b .vacation
 %patch15 -p1 -b .noversion
 %patch16 -p1 -b .localdomain
-%patch17 -p1 -b .gcc2690
 
 %build
 # generate redhat config file
@@ -238,7 +236,8 @@ for d in %{_bindir} %{_sbindir} %{_includedir}/libmilter \
 	%{_libdir} %{_mandir}/man{1,5,8} %{maildir} %{stdir} %{spooldir} \
 	%{_docdir}/sendmail-%{version} %{sendmailcf} %{_sysconfdir}/smrsh\
 	%{spooldir}/clientmqueue %{_sysconfdir}/sysconfig %{_initrddir} \
-	%{_sysconfdir}/pam.d %{_docdir}/sendmail-%{version}/contrib;
+	%{_sysconfdir}/pam.d %{_docdir}/sendmail-%{version}/contrib \
+	%{_sysconfdir}/NetworkManager/dispatcher.d
 do
 	install -m 755 -d %{buildroot}$d
 done
@@ -302,6 +301,7 @@ install -p -m 644 KNOWNBUGS %{buildroot}%{_docdir}/sendmail-%{version}
 install -p -m 644 LICENSE %{buildroot}%{_docdir}/sendmail-%{version}
 install -p -m 644 README %{buildroot}%{_docdir}/sendmail-%{version}
 install -p -m 644 RELEASE_NOTES %{buildroot}%{_docdir}/sendmail-%{version}
+gzip -9 %{buildroot}%{_docdir}/sendmail-%{version}/RELEASE_NOTES
 
 # install docs for sendmail-doc
 install -m 644 doc/op/op.pdf %{buildroot}%{_docdir}/sendmail-%{version}
@@ -323,6 +323,7 @@ rm -rf %{buildroot}%{sendmailcf}/*/*.m4.*
 # install sendmail.mc with proper paths
 install -m 644 %{SOURCE6} %{buildroot}%{maildir}/sendmail.mc
 sed -i -e 's|@@PATH@@|%{sendmailcf}|' %{buildroot}%{maildir}/sendmail.mc
+touch -r %{SOURCE6} %{buildroot}%{maildir}/sendmail.mc
 
 # create sendmail.cf
 cp %{buildroot}%{maildir}/sendmail.mc cf/cf/redhat.mc
@@ -332,28 +333,30 @@ sed -i -e 's:%{maildir}/statistics:%{stdir}/statistics:' cf/cf/redhat.mc
 %endif
 (cd cf/cf && m4 redhat.mc > redhat.cf)
 install -m 644 cf/cf/redhat.cf %{buildroot}%{maildir}/sendmail.cf
-install -m 644 cf/cf/submit.mc %{buildroot}%{maildir}/submit.mc
+install -p -m 644 cf/cf/submit.mc %{buildroot}%{maildir}/submit.mc
 
-install -m 644 %{SOURCE12} %{buildroot}%{maildir}/access
-install -m 644 %{SOURCE13} %{buildroot}%{maildir}/domaintable
-install -m 644 %{SOURCE14} %{buildroot}%{maildir}/local-host-names
-install -m 644 %{SOURCE15} %{buildroot}%{maildir}/mailertable
-install -m 644 %{SOURCE16} %{buildroot}%{maildir}/trusted-users
-install -m 644 %{SOURCE17} %{buildroot}%{maildir}/virtusertable
+# remove our build info as it causes multiarch conflicts
+sed -i '/##### built by.*on/,+3d' %{buildroot}%{maildir}/{submit,sendmail}.cf \
+	%{buildroot}%{sendmailcf}/cf/submit.cf
 
-# create db files
+install -p -m 644 %{SOURCE12} %{buildroot}%{maildir}/access
+install -p -m 644 %{SOURCE13} %{buildroot}%{maildir}/domaintable
+install -p -m 644 %{SOURCE14} %{buildroot}%{maildir}/local-host-names
+install -p -m 644 %{SOURCE15} %{buildroot}%{maildir}/mailertable
+install -p -m 644 %{SOURCE16} %{buildroot}%{maildir}/trusted-users
+install -p -m 644 %{SOURCE17} %{buildroot}%{maildir}/virtusertable
+
+# create db ghosts
 for map in virtusertable access domaintable mailertable ; do
-	touch %{buildroot}%{maildir}/${map}
-	chmod 0644 %{buildroot}%{maildir}/${map}
-	%{buildroot}%{_bindir}/makemap -C %{buildroot}%{maildir}/sendmail.cf \
-		hash %{buildroot}%{maildir}/${map}.db \
-		< %{buildroot}%{maildir}/${map}
+	touch %{buildroot}%{maildir}/${map}.db
 	chmod 0644 %{buildroot}%{maildir}/${map}.db
 done
 
-install -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig/sendmail
-install -m 755 %{SOURCE1} %{buildroot}%{_initrddir}/sendmail
-install -m 644 %{SOURCE5} %{buildroot}%{maildir}/Makefile
+install -p -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig/sendmail
+install -p -m 755 %{SOURCE1} %{buildroot}%{_initrddir}/sendmail
+install -p -m 755 %{SOURCE2} %{buildroot}%{_sysconfdir}/NetworkManager/dispatcher.d/10-sendmail
+install -p -m 755 %{SOURCE3} %{buildroot}%{maildir}/make
+install -p -m 644 %{SOURCE5} %{buildroot}%{maildir}/Makefile
 
 # fix permissions to allow debuginfo extraction and stripping
 chmod 755 %{buildroot}%{_sbindir}/{mailstats,makemap,praliases,sendmail,smrsh}
@@ -418,18 +421,13 @@ exit 0
 	--slave %{_mandir}/man5/aliases.5.gz mta-aliasesman %{_mandir}/man5/aliases.sendmail.5.gz \
 	--initscript sendmail
 
-# Rebuild maps (next reboot will rebuild also)
+# Rebuild maps
 {
 	chown root %{_sysconfdir}/aliases.db %{maildir}/access.db \
 		%{maildir}/mailertable.db %{maildir}/domaintable.db \
 		%{maildir}/virtusertable.db
 	%{_bindir}/newaliases
-	for map in virtusertable access domaintable mailertable ; do
-		if [ -f %{maildir}/${map} ]; then
-			%{_bindir}/makemap hash %{maildir}/${map} \
-				< %{maildir}/${map}
-		fi
-	done
+	SM_FORCE_DBREBUILD=1 /etc/mail/make
 } > /dev/null 2>&1
 exit 0
 
@@ -448,7 +446,7 @@ exit 0
 %doc %{_docdir}/sendmail-%{version}/KNOWNBUGS
 %doc %{_docdir}/sendmail-%{version}/LICENSE
 %doc %{_docdir}/sendmail-%{version}/README
-%doc %{_docdir}/sendmail-%{version}/RELEASE_NOTES
+%doc %{_docdir}/sendmail-%{version}/RELEASE_NOTES.gz
 %{_bindir}/hoststat
 %{_bindir}/makemap
 %{_bindir}/purgestat
@@ -480,6 +478,7 @@ exit 0
 
 %config(noreplace) %{stdir}/statistics
 %config(noreplace) %{maildir}/Makefile
+%config(noreplace) %{maildir}/make
 %config(noreplace) %{maildir}/sendmail.cf
 %config(noreplace) %{maildir}/submit.cf
 %config(noreplace) %{maildir}/helpfile
@@ -500,6 +499,7 @@ exit 0
 %attr(0755,root,root) %{_initrddir}/sendmail
 %config(noreplace) %{_sysconfdir}/sysconfig/sendmail
 %config(noreplace) %{_sysconfdir}/pam.d/smtp.sendmail
+%{_sysconfdir}/NetworkManager/dispatcher.d/10-sendmail
 
 %config %{_libdir}/sasl*/Sendmail*.conf
 
@@ -541,6 +541,16 @@ exit 0
 
 
 %changelog
+* Wed Dec 03 2008 Miroslav Lichvar <mlichvar@redhat.com> 8.14.3-2
+- add NM dispatcher script (#451575)
+- print warning on service start when sendmail-cf is required (#447148)
+- replace Makefile with shell script to avoid dependency on make (#467841)
+- fix multiarch conflicts (#343161)
+- preserve timestamps on config files
+- gzip RELEASE_NOTES
+- defuzz patches
+- drop gcc2690 patch
+
 * Tue Jul 22 2008 Thomas Woerner <twoerner@redhat.com> 8.14.3-1
 - new version 8.14.3
 
