diff --exclude=*.in --exclude=*.m4 -Naur dpkg-1.4.1/debian/50dpkg-dev.el dpkg-1.4.1.1/debian/50dpkg-dev.el
--- dpkg-1.4.1/debian/50dpkg-dev.el	Sun Nov  1 08:02:07 1998
+++ dpkg-1.4.1.1/debian/50dpkg-dev.el	Fri Dec 25 09:10:28 1998
@@ -4,5 +4,11 @@
 ;; Copyright (C) 1997, Klee Dienes <klee@mit.edu>
 ;; I hereby release this progam into the public domain.
 
-(autoload 'debian-changelog-mode "/usr/lib/emacs/site-lisp/debian-changelog-mode.el"
+(autoload 'debian-changelog-mode "debian-changelog-mode"
         "Major mode for editing Debian-style change logs." t)
+
+; Automatically set mode for debian/changelog and debian/rules files.
+(setq auto-mode-alist (cons '("/debian/changelog\\'" . debian-changelog-mode)
+			    auto-mode-alist)
+      interpreter-mode-alist (cons '("make" . makefile-mode)
+				   interpreter-mode-alist))
diff --exclude=*.in --exclude=*.m4 -Naur dpkg-1.4.1/debian/changelog dpkg-1.4.1.1/debian/changelog
--- dpkg-1.4.1/debian/changelog	Sun Nov  1 09:34:32 1998
+++ dpkg-1.4.1.1/debian/changelog	Fri Dec 25 10:46:13 1998
@@ -1,3 +1,23 @@
+dpkg (1.4.1.1) unstable; urgency=low
+
+  * Non-maintainer release.
+  * (dpkg-dev): Use emacsen-common for debian-changelog-mode.el (Bug#20776,31030).
+    - 50dpkg-dev.el: Symlink this into appropriate
+      /etc/<emacsen>/site-start.d directories using emacsen-common.
+    - Suggest emacsen.
+  * Linked against libncurses4 and libstdc++2.9.
+  * Removed references to the packaging and policy manuals from debian/control.
+  * s/developer-keyring/debian-keyring/g debian/control.
+  * Put debian-changelog-mode.el in dpkg-dev and remove from dpkg (Bug#29271).
+  * Fix paths in 50dpkg-dev.el using Roderick Schertler's patch
+    (Bug#28270,29702,26876,29184,and others).
+  * Note that bug number 17367 was fixed in 1.4.0.26.
+  * Add Zack Weinberg's install-info patch for GNU install-info
+    compatibility (Bug#28965).
+  * Disable --force-overwrite by default again.
+
+ -- Joel Klecker <espy@debian.org>  Fri, 25 Dec 1998 10:42:03 -0800
+
 dpkg (1.4.1) unstable; urgency=low
 
   * Maintainer release by IWJ.
diff --exclude=*.in --exclude=*.m4 -Naur dpkg-1.4.1/debian/control dpkg-1.4.1.1/debian/control
--- dpkg-1.4.1/debian/control	Sun Nov  1 09:08:22 1998
+++ dpkg-1.4.1.1/debian/control	Fri Dec 25 10:44:04 1998
@@ -8,7 +8,7 @@
 Architecture: any
 Essential: yes
 Pre-Depends: ${shlibs:Pre-Depends}
-Suggests: developer-keyring
+Suggests: debian-keyring
 Description: Package maintenance system for Debian Linux
  This package contains the programs which handle the installation and
  removal of packages on your system.
@@ -26,14 +26,12 @@
 Architecture: all
 Depends: perl
 Recommends: cpio (>= 2.4.2-2), patch (>= 2.2-1), gcc, make
-Suggests: gnupg, developer-keyring
+Suggests: gnupg, debian-keyring, emacsen
 Conflicts: dpkgname
 Replaces: dpkgname, dpkg (<< 1.4.0)
 Description: Package building tools for Debian Linux
  This package contains the tools (including dpkg-source) required to
- unpack, build and upload Debian source packages.  It also contains
- the programmers' and Debian policy manuals, which are the
- documentation for package developers.
+ unpack, build and upload Debian source packages.
  .
  `cpio' and `patch' are also required to manipulate source packages.
  Some older cpios are insufficient - use at least 2.4.2-2.
diff --exclude=*.in --exclude=*.m4 -Naur dpkg-1.4.1/debian/emacsen-common-install dpkg-1.4.1.1/debian/emacsen-common-install
--- dpkg-1.4.1/debian/emacsen-common-install	Wed Dec 31 16:00:00 1969
+++ dpkg-1.4.1.1/debian/emacsen-common-install	Fri Dec 25 09:44:21 1998
@@ -0,0 +1,63 @@
+#!/bin/sh 
+set -e
+
+FLAVOUR=$1
+PACKAGE="dpkg-dev"
+
+if [ "X$FLAVOUR" = "X" ]; then
+    echo Need argument to determin FLAVOUR of emacs;
+    exit 1
+fi
+
+if [ "X$PACKAGE" = "X" ]; then
+    echo Internal error: need package name;
+    exit 1;
+fi
+
+ELDIR=/usr/share/emacs/site-lisp/$PACKAGE
+ELCDIR=/usr/share/$FLAVOUR/site-lisp/$PACKAGE
+
+BATCHFLAGS="-batch -q -no-site-file"
+PRELOADS="";
+COMPILE="";
+
+STARTDIR=/etc/$FLAVOUR/site-start.d
+STARTFILE="$PACKAGE.el";
+
+case "$FLAVOUR" in
+    emacs)
+	echo "install/$PACKAGE: Ignoring $FLAVOUR."
+	;;
+    emacs19 | emacs20 | xemacs20)
+	echo -n "install/$PACKAGE: Byte-compiling for $FLAVOUR..."
+        if [ -d $ELCDIR ]; then
+            rm -f $ELCDIR/*.elc $ELCDIR/install.log;
+            rmdir $ELCDIR
+        fi
+        if [ ! -d $ELCDIR ]; then
+            install -m 755 -d $ELCDIR
+        fi
+        cd $ELDIR
+
+        LOG=`tempfile`;
+
+	($FLAVOUR $BATCHFLAGS $CUSTOMINIT $PRELOADS $COMPILE) >$LOG 2>&1
+
+	echo install -m 644 *.elc  $ELCDIR  >> $LOG;
+	install      -m 644 *.elc  $ELCDIR;
+	mv -f $LOG                 $ELCDIR/install.log;
+	rm -f *.elc
+
+	if [ ! -f $STARTDIR/20$STARTFILE ]; then
+	    ln -s $ELDIR/$STARTFILE $STARTDIR/20$STARTFILE;
+	fi
+        echo "done."
+	;;
+    *)
+        echo "install/$PACKAGE: Ignoring emacsen flavor $FLAVOUR.";	
+esac
+
+
+### Local Variables:
+### mode: shell-script
+### End:
diff --exclude=*.in --exclude=*.m4 -Naur dpkg-1.4.1/debian/emacsen-common-remove dpkg-1.4.1.1/debian/emacsen-common-remove
--- dpkg-1.4.1/debian/emacsen-common-remove	Wed Dec 31 16:00:00 1969
+++ dpkg-1.4.1.1/debian/emacsen-common-remove	Fri Dec 25 09:44:27 1998
@@ -0,0 +1,40 @@
+#!/bin/sh
+set -e
+
+FLAVOUR=$1
+PACKAGE="dpkg-dev"
+
+if [ "X$FLAVOUR" = "X" ]; then
+    echo Need argument to determin FLAVOUR of emacs;
+    exit 1
+fi
+
+if [ "X$PACKAGE" = "X" ]; then
+    echo Internal error: need package name;
+    exit 1;
+fi
+
+ELDIR=/usr/share/emacs/site-lisp/$PACKAGE
+ELCDIR=/usr/share/$FLAVOUR/site-lisp/$PACKAGE/
+
+case $FLAVOUR in
+    emacs)
+	echo "remove/$PACKAGE: Ignoring emacsen flavor $FLAVOUR."       
+        ;;
+    emacs19|emacs20|xemacs20)
+        echo -n "remove/$PACKAGE: Removing for $FLAVOUR..."
+	if [ -d $ELCDIR ]; then
+	    rm -fr $ELCDIR
+	fi
+        echo " done."   
+        ;;
+    *)
+        echo "remove/$PACKAGE: Ignoring emacsen flavor $FLAVOUR."       
+        ;;
+esac
+
+exit 0
+
+### Local Variables:
+### mode: shell-script
+### End:
diff --exclude=*.in --exclude=*.m4 -Naur dpkg-1.4.1/debian/postinst dpkg-1.4.1.1/debian/postinst
--- dpkg-1.4.1/debian/postinst	Sun Nov  1 08:02:13 1998
+++ dpkg-1.4.1.1/debian/postinst	Fri Dec 25 09:55:10 1998
@@ -108,6 +108,9 @@
 		fi
 		;;
 	esac
+    if [ -x  /usr/lib/emacsen-common/emacs-package-install ]; then
+        /usr/lib/emacsen-common/emacs-package-install dpkg-dev
+    fi
 fi
 
 cd /var/lib/dpkg
diff --exclude=*.in --exclude=*.m4 -Naur dpkg-1.4.1/debian/prerm dpkg-1.4.1.1/debian/prerm
--- dpkg-1.4.1/debian/prerm	Sun Oct 25 14:23:49 1998
+++ dpkg-1.4.1.1/debian/prerm	Fri Dec 25 09:56:55 1998
@@ -4,6 +4,11 @@
 
 cd /usr/bin
 
+if [ "$1" = remove ]; then
+    if [ -x /usr/lib/emacsen-common/emacs-package-remove ]; then
+        /usr/lib/emacsen-common/emacs-package-remove dpkg-dev
+    fi
+fi
 install-info --quiet --remove /usr/info/Guidelines
 install-info --quiet --remove /usr/info/debian-guidelines
 install-info --quiet --remove /usr/info/guidelines
diff --exclude=*.in --exclude=*.m4 -Naur dpkg-1.4.1/debian/rules dpkg-1.4.1.1/debian/rules
--- dpkg-1.4.1/debian/rules	Sun Nov  1 09:08:24 1998
+++ dpkg-1.4.1.1/debian/rules	Sun Jan 31 21:01:10 1999
@@ -78,6 +78,7 @@
 	-$(RM) -r debian/tmp-{main,dev}
 	install -d debian/tmp-{main,dev}/{DEBIAN,etc/dpkg,usr/doc/dpkg}
 	install -d debian/tmp-dev/usr/{lib/dpkg,doc/dpkg-dev,man/man1,man/man8,sbin,bin}
+	install -d debian/tmp-dev/usr/share/emacs/site-lisp/dpkg-dev
 	install -d debian/tmp-main/sbin
 	set -e; if [ $(arch) = i386 ]; then \
 		sed -e 's/^# i386elf: //' <debian/preinst >$(mcidir)/preinst ; \
@@ -91,9 +92,13 @@
 	fi
 	cp debian/{prerm,postinst} $(mcidir)/.
 	install -d debian/tmp-dev/etc/emacs/site-start.d
-	install -c debian/50dpkg-dev.el debian/tmp-dev/etc/emacs/site-start.d/
-	install -d debian/tmp-dev/etc/xemacs/site-start-19.d
-	install -c debian/50dpkg-dev.el debian/tmp-dev/etc/xemacs/site-start-19.d/
+	install -c debian/50dpkg-dev.el debian/tmp-dev/usr/share/emacs/site-lisp/dpkg-dev
+	install -d debian/tmp-dev/usr/lib/emacsen-common/{install,remove}
+	cp debian/emacsen-common-remove debian/tmp-dev/usr/lib/emacsen-common/remove/dpkg-dev
+	cp debian/emacsen-common-install debian/tmp-dev/usr/lib/emacsen-common/install/dpkg-dev
+	mv debian/tmp-main/usr/share/emacs/site-lisp/debian-changelog-mode.el \
+	debian/tmp-dev/usr/share/emacs/site-lisp/dpkg-dev
+	rm -f debian/tmp-main/usr/share/emacs/site-lisp/debian-changelog-mode.elc
 	chmod +x $(mcidir)/{postinst,prerm,preinst}
 	$(MAKE) -C $(BUILD) top_distdir=. dist 
 	$(MAKE) -C $(BUILD) \
diff --exclude=*.in --exclude=*.m4 -Naur dpkg-1.4.1/main/main.c dpkg-1.4.1.1/main/main.c
--- dpkg-1.4.1/main/main.c	Sun Nov  1 08:35:24 1998
+++ dpkg-1.4.1.1/main/main.c	Fri Dec 25 10:39:10 1998
@@ -128,7 +128,7 @@
 int f_autodeconf=0, f_largemem=0;
 unsigned long f_debug=0;
 /* Change fc_overwrite to 1 to enable force-overwrite by default */
-int fc_downgrade=1, fc_configureany=0, fc_hold=0, fc_removereinstreq=0, fc_overwrite=1;
+int fc_downgrade=1, fc_configureany=0, fc_hold=0, fc_removereinstreq=0, fc_overwrite=0;
 int fc_removeessential=0, fc_conflicts=0, fc_depends=0, fc_dependsversion=0;
 int fc_autoselect=1, fc_badpath=0, fc_overwritediverted=0, fc_architecture=0;
 int fc_nonroot=0, fc_overwritedir=0;
diff --exclude=*.in --exclude=*.m4 -Naur dpkg-1.4.1/scripts/debian-changelog-mode.el dpkg-1.4.1.1/scripts/debian-changelog-mode.el
--- dpkg-1.4.1/scripts/debian-changelog-mode.el	Sun Nov  1 08:07:34 1998
+++ dpkg-1.4.1.1/scripts/debian-changelog-mode.el	Fri Dec 25 09:12:23 1998
@@ -218,7 +218,20 @@
 
 Key bindings:
 
-\\{debian-changelog-mode-map}"
+\\{debian-changelog-mode-map}
+Hint:  If you want to use your debian.org email address for debian/changelog
+entries without using it for the rest of your email, put
+
+    (add-hook 'debian-changelog-mode-hook 'my-debian-changelog-mode-hook)
+    (defun my-debian-changelog-mode-hook ()
+      (make-local-variable 'add-log-mailing-address)
+      (setq add-log-mailing-address \"myname@debian.org\"))
+
+in your ~/.emacs file.  This is better than including a local setting
+for add-log-mailing-address in the changelog itself both because you
+only have to set it up once and because it works in the presense of
+NMUs."
+
   (interactive)
   (kill-all-local-variables)
   (text-mode)
diff --exclude=*.in --exclude=*.m4 -Naur dpkg-1.4.1/scripts/install-info.pl dpkg-1.4.1.1/scripts/install-info.pl
--- dpkg-1.4.1/scripts/install-info.pl	Sun Nov  1 08:07:50 1998
+++ dpkg-1.4.1.1/scripts/install-info.pl	Fri Dec 25 10:35:10 1998
@@ -114,7 +114,13 @@
         
         open(IF,"$filename") || die "$name: read $filename: $!\n";
         $asread='';
-        while(<IF>) { last if m/^START-INFO-DIR-ENTRY$/; }
+        while(<IF>) {
+	    m/^START-INFO-DIR-ENTRY$/ && last;
+	    m/^INFO-DIR-SECTION (.+)$/ && do {
+		$sectiontitle = $1		unless defined($sectiontitle);
+		$sectionre = '^'.quotemeta($1)	unless defined($sectionre);
+	    }
+	}
         while(<IF>) { last if m/^END-INFO-DIR-ENTRY$/; $asread.= $_; }
         close(IF); &checkpipe;
         if ($asread =~ m/(\* *[^:]+: *\([^\)]+\).*\. *.*\n){2,}/) {
