diff -u -Naur emacs/Makefile.in emacs.fink/Makefile.in
--- emacs/Makefile.in	Thu Nov 11 15:04:25 2004
+++ emacs.fink/Makefile.in	Thu Nov 11 16:42:09 2004
@@ -418,7 +418,7 @@
 	      (cd $${dir}; tar -chf - . ) \
 		| (cd $${dest}; umask 022; \
                    tar -xvf - && cat > /dev/null) || exit 1; \
-	      find $${dest} -exec chown $${LOGNAME:-$$USERNAME} {} ';' ;\
+	      find $${dest} -exec chown root:admin {} ';' ;\
 	      for subdir in `find $${dest} -type d ! -name RCS ! -name CVS -print` ; do \
 		chmod a+rx $${subdir} ; \
 		rm -rf $${subdir}/RCS ; \
@@ -458,7 +458,7 @@
 	   echo "Copying etc/DOC-* to ${docdir} ..." ; \
 	   (cd ./etc; tar -chf - DOC*) \
 	     |(cd ${docdir}; umask 022; tar -xvf - && cat > /dev/null) || exit 1; \
-	   (cd $(docdir); chown $${LOGNAME:-$$USERNAME} DOC*; chmod a+r DOC*; \
+	   (cd $(docdir); chown root:admin DOC*; chmod a+r DOC*; \
 	    if test "`echo DOC-*`" != "DOC-*"; then rm DOC; fi); \
 	else true; fi
 	-unset CDPATH; \
@@ -470,7 +470,7 @@
 	   echo "Copying lisp/*.el and lisp/*.elc to ${lispdir} ..." ; \
 	   (cd lisp; tar -chf - *.el *.elc) \
 	     |(cd ${lispdir}; umask 022; tar -xvf - && cat > /dev/null) || exit 1; \
-	   (cd ${lispdir}; find . -exec chown $${LOGNAME:-$$USERNAME} {} ';') ; \
+	   (cd ${lispdir}; find . -exec chown root:admin {} ';') ; \
 	else true; fi
 	-unset CDPATH; \
 	thisdir=`/bin/pwd`; \
diff -u -Naur emacs/fix-info emacs.fink/fix-info
--- emacs/fix-info	Wed Dec 31 19:00:00 1969
+++ emacs.fink/fix-info	Thu Nov 11 16:48:48 2004
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+THE_INFO_PREFIX=$1
+
+for file in ada-mode autotype calc ccmode cl dired-x ebrowse ediff efaq \
+            eintr elisp emacs emacs-mime emacs-xtra eshell eudc flymake forms \
+            gnus idlwave info message mh-e pcl-cvs pgg reftex sc ses sieve \
+            smtpmail speedbar tramp vip viper widget woman
+do
+    ./mangle-info ${THE_INFO_PREFIX}/${file}
+done
diff -u -Naur emacs/lisp/startup.el emacs.fink/lisp/startup.el
--- emacs/lisp/startup.el	Thu Nov 11 15:04:25 2004
+++ emacs.fink/lisp/startup.el	Thu Nov 11 16:42:09 2004
@@ -278,6 +278,10 @@
 (defvar pure-space-overflow nil
   "Non-nil if building Emacs overflowed pure space.")
 
+(defconst fink-emacs-flavor 'emacs21
+  "A symbol representing the particular fink flavor of emacs running.
+Something like 'emacs20, 'xemacs20, etc.")
+
 (defun normal-top-level-add-subdirs-to-load-path ()
   "Add all subdirectories of current directory to `load-path'.
 More precisely, this uses only the subdirectories whose names
@@ -786,8 +790,19 @@
     ;; Run the site-start library if it exists.  The point of this file is
     ;; that it is run before .emacs.  There is no point in doing this after
     ;; .emacs; that is useless.
-    (if site-run-file
-	(load site-run-file t t))
+
+    ;; (if site-run-file                                                       
+    ;;     (load site-run-file t t))                                           
+                                                                               
+    ;; Fink version of site-start.                                           
+    (if site-run-file                                                          
+        (progn                                                                 
+          ;; Load all the fink package snippets.                             
+          ;; It's in here because we want -q to kill it too.                   
+          (if (load "fink-startup" t t nil)                                  
+              (fink-startup fink-emacs-flavor))                            
+          ;; Now the normal site file...                                       
+          (load site-run-file t t nil)))                                       
 
     ;; Sites should not disable this.  Only individuals should disable
     ;; the startup message.
diff -u -Naur emacs/mangle-info emacs.fink/mangle-info
--- emacs/mangle-info	Wed Dec 31 19:00:00 1969
+++ emacs.fink/mangle-info	Thu Nov 11 16:42:09 2004
@@ -0,0 +1,17 @@
+#!/usr/bin/perl -w -i
+
+use English;
+use strict;
+
+$RS = undef;
+
+my $prefix = "emacs-21";
+
+my $x = <>;
+if(!($x =~ m/^(\s*START-INFO-DIR-ENTRY\s+\*\s*[^:]+:\s*)\(([^\)]+)\)/mo)) {
+  die "Couldn't find START-INFO-DIR-ENTRY.";
+}
+   
+print ${PREMATCH};
+print "$1($prefix/$2)";
+print ${POSTMATCH};
