diff -r 7b51c215fc54 Makefile.in
--- a/Makefile.in	Sat Mar  4 17:16:21 2006 -0800
+++ b/Makefile.in	Sat Mar  4 17:59:09 2006 -0800
@@ -256,7 +256,7 @@ bin/guards.1 : bin/guards
 		-e 's:@VERSION''@:$(VERSION):g'				\
 		-e 's:@RELEASE''@:$(RELEASE):g'				\
 		-e 's:@LOCALEDIR''@:$(localedir):g'			\
-		-e 's:@DOCSUBDIR''@:$(docdir)/$(PACKAGE)-$(VERSION):g'	\
+		-e 's:@DOCSUBDIR''@:$(docdir)/$(PACKAGE):g'	\
 		$< > $@
 	@$(if $(filter-out $<,$(NON_EXEC_IN)),chmod +x $@)
 
@@ -320,11 +320,11 @@ endif
 	$(INSTALL) -d $(BUILD_ROOT)$(libdir)/$(PACKAGE)
 	$(INSTALL) -m 755 $(LIB:%=lib/%) $(BUILD_ROOT)$(libdir)/$(PACKAGE)/
 
-	$(INSTALL) -d $(BUILD_ROOT)$(docdir)/$(PACKAGE)-$(VERSION)/
+	$(INSTALL) -d $(BUILD_ROOT)$(docdir)/$(PACKAGE)/
 	$(INSTALL) -m 644 doc/README					\
-		   $(BUILD_ROOT)$(docdir)/$(PACKAGE)-$(VERSION)/
+		   $(BUILD_ROOT)$(docdir)/$(PACKAGE)/
 	$(INSTALL) -m 644 doc/quilt.pdf doc/README.MAIL			\
-		   $(BUILD_ROOT)$(docdir)/$(PACKAGE)-$(VERSION)/
+		   $(BUILD_ROOT)$(docdir)/$(PACKAGE)/
 
 	$(INSTALL) -d $(BUILD_ROOT)$(mandir)/man1
 	$(INSTALL) -m 644 $(MAN1) $(BUILD_ROOT)$(mandir)/man1/
@@ -367,7 +367,7 @@ uninstall ::
 		   $(notdir $(MAN1)))					\
 	       $(BUILD_ROOT)$(etcdir)/bash_completion.d/quilt		\
 	       $(BUILD_ROOT)$(etcdir)/quilt.quiltrc			\
-	       $(BUILD_ROOT)$(docdir)/$(PACKAGE)-$(VERSION)/
+	       $(BUILD_ROOT)$(docdir)/$(PACKAGE)/
 
 check: $(TESTS:test/%.test=test/.%.ok)
 check-all: $(TESTS:test/%.test=check-%)
diff -r 7b51c215fc54 configure
--- a/configure	Sat Mar  4 17:16:21 2006 -0800
+++ b/configure	Sat Mar  4 17:59:09 2006 -0800
@@ -3882,29 +3882,6 @@ echo "$as_me: error: Please specify the 
   fi
 
 
-echo "$as_me:$LINENO: checking whether $CP -l works" >&5
-echo $ECHO_N "checking whether $CP -l works... $ECHO_C" >&6
-touch conftest.1
-if $CP -l conftest.1 conftest.2 2>/dev/null; then
-	echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-	{ { echo "$as_me:$LINENO: error: no
-
-You appear to have a \`cp' that does not support hard links.
-You can download GNU fileutils from ftp.gnu.org
-" >&5
-echo "$as_me: error: no
-
-You appear to have a \`cp' that does not support hard links.
-You can download GNU fileutils from ftp.gnu.org
-" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-
-
-
 
 # Check whether --with-date or --without-date was given.
 if test "${with_date+set}" = set; then
@@ -3999,32 +3976,6 @@ echo "$as_me: WARNING: Using internal da
       INTERNAL_DATE=1
 
   fi
-
-
-
-if test -z "$INTERNAL_DATE"; then
-  echo "$as_me:$LINENO: checking whether $DATE --rfc-822 works" >&5
-echo $ECHO_N "checking whether $DATE --rfc-822 works... $ECHO_C" >&6
-  if $DATE --rfc-822 >/dev/null 2>/dev/null; then
-	echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-  else
-	{ { echo "$as_me:$LINENO: error: no
-
-If you don't have a version of \`date' that supports --rfc-822, you
-can specify '--without-date' and $PACKAGE_NAME will use its own
-internal date.
-" >&5
-echo "$as_me: error: no
-
-If you don't have a version of \`date' that supports --rfc-822, you
-can specify '--without-date' and $PACKAGE_NAME will use its own
-internal date.
-" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-fi
-
 
 
 
diff -r 7b51c215fc54 quilt/diff.in
--- a/quilt/diff.in	Sat Mar  4 17:16:21 2006 -0800
+++ b/quilt/diff.in	Sat Mar  4 17:59:09 2006 -0800
@@ -303,7 +303,7 @@ then
 
 	if [ ${#files[@]} -gt 0 ] \
 	   && ! ( cd $QUILT_PC/$last_patch &&
-		  cp -l --parents "${files[@]}" $workdir/ )
+		  mycpl $workdir/ "${files[@]}" )
 	then
 		printf $"Failed to copy files to temporary directory\n" >&2
 		die 1
diff -r 7b51c215fc54 quilt/mail.in
--- a/quilt/mail.in	Sat Mar  4 17:16:21 2006 -0800
+++ b/quilt/mail.in	Sat Mar  4 17:59:09 2006 -0800
@@ -64,7 +64,7 @@ with a template for the introduction. Pl
 
 msgid()
 {
-	local timestamp=$(date --utc "+%Y%m%d%H%M%S.%N")
+	local timestamp=$(date -u "+%Y%m%d%H%M%S.000000000")
 	echo "$timestamp@${opt_sender#*@}"
 }
 
@@ -334,7 +334,7 @@ introduction="$(gen_tempfile)"
 	cat <<-EOF
 	Message-Id: <$(msgid)>
 	User-Agent: quilt/@VERSION@-@RELEASE@
-	Date: $(date --rfc-822)
+	Date: $(date '+%a, %d %b %Y %H:%M:%S %z')
 	From: ${opt_from:-$opt_sender}
 	To: $(IFS=,; echo "${opt_to[*]}")
 	Cc: $(IFS=,; echo "${opt_cc[*]}")
@@ -401,7 +401,11 @@ fi
 # increment the timestamp by one second and wait with sending until
 # that time has arrived. This allows MUAs to show the messages in the
 # correct order.
-last_ts=$(date '+%s' -d "$(sed -ne $'s/^Date:[ \t]*//p' $introduction)")
+#last_ts=$(date '+%s' -d "$(sed -ne $'s/^Date:[ \t]*//p' $introduction)")
+# fink has no date available that does -d, so we fudge with the time now.
+# If the user edits the date field in the message patch 0 could end up
+# out of order wrt the actual patches. just a minor cosmetic nit.
+last_ts=$(date '+%s')
 
 num=1
 for patch in "${patches[@]}"; do
@@ -412,7 +416,7 @@ for patch in "${patches[@]}"; do
 	#	sleep 1
 	#done
 	((last_ts++))
-	new_date="$(date --rfc-822 -d "1970/01/01 UTC $last_ts seconds")"
+	new_date="$(date -r $last_ts '+%a, %d %b %Y %H:%M:%S %z')"
 
 	modify="$(awk '
 	sub(/^Recipient-/, "")	{ r = $0
diff -r 7b51c215fc54 quilt/pop.in
--- a/quilt/pop.in	Sat Mar  4 17:16:21 2006 -0800
+++ b/quilt/pop.in	Sat Mar  4 17:59:09 2006 -0800
@@ -93,7 +93,7 @@ check_for_pending_changes()
 	if [ -d $QUILT_PC/$patch ]
 	then
 		if ! rmdir $workdir ||  # note that this is racey...
-		   ! cp -rl $QUILT_PC/$patch $workdir
+		   ! (for i in "$(find "$QUILT_PC/$patch" -type f)"; do mycpl $workdir $i; done)
 		then
 			printf $"Failed to copy files to temporary directory\n" >&2
 			rm -rf $workdir
diff -r 7b51c215fc54 quilt/scripts/patchfns.in
--- a/quilt/scripts/patchfns.in	Sat Mar  4 17:16:21 2006 -0800
+++ b/quilt/scripts/patchfns.in	Sat Mar  4 17:59:09 2006 -0800
@@ -45,6 +45,28 @@ fi
 fi
 
 # ========================================================
+
+dater()
+{
+  ts=$(perl -e '@st = stat($ARGV[0]); print $st[9];' "$1")
+  fmt=$(date -r $ts "$2")
+
+  echo $fmt
+}
+
+mycpl ()
+{
+  target=$1
+  shift;
+
+  for src in "$@"
+  do
+    srcdir="${src%/*}"
+    test -n "$srcdir" && mkdir -p "$target/$srcdir"
+    ln $src "$target/$src"
+  done
+}
+
 
 #declare -a exit_handlers
 #
@@ -669,8 +691,7 @@ diff_file()
 		|| old_date=$'\t'"1970-01-01 00:00:00.000000000 +0000"
 	else
 		[ -n "$QUILT_NO_DIFF_TIMESTAMPS" ] \
-		|| old_date=$'\t'$(date +'%Y-%m-%d %H:%M:%S.%N %z' \
-					-r "$old_file")
+		|| old_date=$'\t'$(dater "$old_file" +'%Y-%m-%d %H:%M:%S.000000000 %z')
 	fi
 	if ! [ -s "$new_file" ]
 	then
@@ -682,8 +703,7 @@ diff_file()
 		|| new_date=$'\t'"1970-01-01 00:00:00.000000000 +0000"
 	else
 		[ -n "$QUILT_NO_DIFF_TIMESTAMPS" ] \
-		|| new_date=$'\t'$(date +'%Y-%m-%d %H:%M:%S.%N %z' \
-					-r "$new_file")
+		|| new_date=$'\t'$(dater "$new_file" +'%Y-%m-%d %H:%M:%S.000000000 %z')
 	fi
 
 	diff $QUILT_DIFF_OPTS $old_file $new_file \
