Patch is from the Fink projetc (http://fink.sf.net) 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 \