summaryrefslogtreecommitdiffstats
path: root/gnu
diff options
context:
space:
mode:
authordelphij <delphij@FreeBSD.org>2007-06-15 07:09:34 +0000
committerdelphij <delphij@FreeBSD.org>2007-06-15 07:09:34 +0000
commit33aeb00c4daa9fed804a4da2a6e20c45f5194305 (patch)
tree8e4e5932bdfd43357d5df21a2be1e0a4eb0aff99 /gnu
parentdc06cc570ef6d63ec097c5389fbf75646fa5a768 (diff)
downloadFreeBSD-src-33aeb00c4daa9fed804a4da2a6e20c45f5194305.zip
FreeBSD-src-33aeb00c4daa9fed804a4da2a6e20c45f5194305.tar.gz
Update build skeleton after diffutils 2.8.7 update.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/usr.bin/diff/Makefile24
-rw-r--r--gnu/usr.bin/diff/context.c.diff21
-rw-r--r--gnu/usr.bin/diff/diff.1508
-rw-r--r--gnu/usr.bin/diff/diff.c.diff69
-rw-r--r--gnu/usr.bin/diff/doc/Makefile2
-rw-r--r--gnu/usr.bin/diff3/Makefile20
-rw-r--r--gnu/usr.bin/diff3/diff3.1210
-rw-r--r--gnu/usr.bin/diff3/diff3.c.diff11
-rw-r--r--gnu/usr.bin/sdiff/Makefile20
-rw-r--r--gnu/usr.bin/sdiff/sdiff.1205
-rw-r--r--gnu/usr.bin/sdiff/sdiff.c.diff11
11 files changed, 164 insertions, 937 deletions
diff --git a/gnu/usr.bin/diff/Makefile b/gnu/usr.bin/diff/Makefile
index f9f329b..d1ba002 100644
--- a/gnu/usr.bin/diff/Makefile
+++ b/gnu/usr.bin/diff/Makefile
@@ -1,16 +1,24 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../contrib/diff
+DIFFSRC=${.CURDIR}/../../../contrib/diff/src
+.PATH: ${DIFFSRC} \
+ ${.CURDIR}/../../../contrib/diff/lib \
+ ${.CURDIR}/../../../contrib/diff/man
PROG= diff
-SRCS= analyze.c cmpbuf.c context.c diff.c dir.c ed.c \
- ifdef.c io.c normal.c prepend_args.c side.c util.c version.c
+SRCS= analyze.c context.c diff.c dir.c ed.c ifdef.c io.c \
+ normal.c side.c util.c \
+ xmalloc.c strtoumax.c cmpbuf.c exitfail.c error.c quotesys.c \
+ strftime.c c-stack.c basename.c exclude.c hard-locale.c \
+ file-type.c posixver.c prepargs.c version-etc.c
# Important for ctype macros!
CFLAGS+=-funsigned-char
-CFLAGS+=-I${.CURDIR}/../../../contrib/diff \
- -I${DESTDIR}/usr/include/gnu
+CFLAGS+=-I${DESTDIR}/usr/include/gnu
+CFLAGS+=-I${.CURDIR}/../../../contrib/diff
+CFLAGS+=-I${.CURDIR}/../../../contrib/diff/src
+CFLAGS+=-I${.CURDIR}/../../../contrib/diff/lib
CFLAGS+=-DHAVE_CONFIG_H
CFLAGS+=-DPR_PROGRAM=\"/usr/bin/pr\"
@@ -19,4 +27,10 @@ SUBDIR+=doc
DPADD= ${LIBGNUREGEX}
LDADD= -lgnuregex
+.for f in diff.c context.c
+${f}: ${DIFFSRC}/${f} ${.CURDIR}/${f}.diff
+ patch -s -b .orig -o ${.TARGET} < ${.CURDIR}/${f}.diff ${DIFFSRC}/${f}
+CLEANFILES+= ${f}
+.endfor
+
.include <bsd.prog.mk>
diff --git a/gnu/usr.bin/diff/context.c.diff b/gnu/usr.bin/diff/context.c.diff
new file mode 100644
index 0000000..d7d2073
--- /dev/null
+++ b/gnu/usr.bin/diff/context.c.diff
@@ -0,0 +1,21 @@
+$FreeBSD$
+--- context.c.orig 2004-04-12 15:44:35.000000000 +0800
++++ context.c 2007-06-15 14:51:05.497679903 +0800
+@@ -29,7 +29,7 @@
+ # define TIMESPEC_NS(timespec) 0
+ #endif
+
+-size_t nstrftime (char *, size_t, char const *, struct tm const *, int, int);
++size_t nstrftime (char *, size_t, char const *, struct tm const *, int, long);
+
+ static char const *find_function (char const * const *, lin);
+ static struct change *find_hunk (struct change *);
+@@ -57,7 +57,7 @@
+ char buf[MAX (INT_STRLEN_BOUND (int) + 32,
+ INT_STRLEN_BOUND (time_t) + 11)];
+ struct tm const *tm = localtime (&inf->stat.st_mtime);
+- int nsec = TIMESPEC_NS (inf->stat.st_mtim);
++ long nsec = TIMESPEC_NS (inf->stat.st_mtimespec);
+ if (! (tm && nstrftime (buf, sizeof buf, time_format, tm, 0, nsec)))
+ {
+ long int sec = inf->stat.st_mtime;
diff --git a/gnu/usr.bin/diff/diff.1 b/gnu/usr.bin/diff/diff.1
deleted file mode 100644
index 5597347..0000000
--- a/gnu/usr.bin/diff/diff.1
+++ /dev/null
@@ -1,508 +0,0 @@
-.\" $FreeBSD$
-.TH DIFF 1 "22sep1993" "GNU Tools" "GNU Tools"
-.SH NAME
-diff \- find differences between two files
-.SH SYNOPSIS
-.B diff
-[options] from-file to-file
-.SH DESCRIPTION
-In the simplest case,
-.I diff
-compares the contents of the two files
-.I from-file
-and
-.IR to-file .
-A file name of
-.B \-
-stands for
-text read from the standard input. As a special case,
-.B "diff \- \-"
-compares a copy of standard input to itself.
-
-If
-.I from-file
-is a directory and
-.I to-file
-is not,
-.I diff
-compares the file in
-.I from-file
-whose file name is that of
-.IR to-file ,
-and vice versa. The non-directory file must not be
-.BR \- .
-
-If both
-.I from-file
-and
-.I to-file
-are directories,
-.I diff
-compares corresponding files in both directories, in
-alphabetical order; this comparison is not recursive unless the
-.B \-r
-or
-.B \-\-recursive
-option is given.
-.I diff
-never
-compares the actual contents of a directory as if it were a file. The
-file that is fully specified may not be standard input, because standard
-input is nameless and the notion of ``file with the same name'' does not
-apply.
-
-.B diff
-options begin with
-.BR \- ,
-so normally
-.I from-file
-and
-.I to-file
-may not begin with
-.BR \- .
-However,
-.B \-\-
-as an
-argument by itself treats the remaining arguments as file names even if
-they begin with
-.BR \- .
-.SS Options
-Below is a summary of all of the options that GNU
-.I diff
-accepts.
-Most options have two equivalent names, one of which is a single letter
-preceded by
-.BR \- ,
-and the other of which is a long name preceded by
-.BR \-\- .
-Multiple single letter options (unless they take an
-argument) can be combined into a single command line word:
-.B \-ac
-is
-equivalent to
-.BR "\-a \-c" .
-Long named options can be abbreviated to
-any unique prefix of their name. Brackets
-.RB ( [
-and
-.BR ] )
-indicate that an
-option takes an optional argument.
-.TP
-.BI \- lines
-Show
-.I lines
-(an integer) lines of context. This option does not
-specify an output format by itself; it has no effect unless it is
-combined with
-.B \-c
-or
-.BR \-u .
-This option is obsolete. For proper
-operation,
-.I patch
-typically needs at least two lines of context.
-.TP
-.B \-a
-Treat all files as text and compare them line-by-line, even if they
-do not seem to be text.
-.TP
-.B \-b
-Ignore changes in amount of white space.
-.TP
-.B \-B
-Ignore changes that just insert or delete blank lines.
-.TP
-.B \-\-brief
-Report only whether the files differ, not the details of the
-differences.
-.TP
-.B \-c
-Use the context output format.
-.TP
-.BI "\-C " lines
-.br
-.ns
-.TP
-.BI \-\-context[= lines ]
-Use the context output format, showing
-.I lines
-(an integer) lines of
-context, or three if
-.I lines
-is not given.
-For proper operation,
-.I patch
-typically needs at least two lines of
-context.
-.TP
-.BI \-\-changed\-group\-format= format
-Use
-.I format
-to output a line group containing differing lines from
-both files in if-then-else format.
-For more details on what can be specified in the
-.I format
-string, consult the info documentation of
-.I diff .
-.TP
-.B \-d
-Change the algorithm to perhaps find a smaller set of changes. This makes
-.I diff
-slower (sometimes much slower).
-.TP
-.BI "\-D " name
-Make merged if-then-else format output, conditional on the preprocessor
-macro
-.IR name .
-.TP
-.B \-e
-.br
-.ns
-.TP
-.B \-\-ed
-Make output that is a valid
-.I ed
-script.
-.TP
-.BI \-\-exclude= pattern
-When comparing directories, ignore files and subdirectories whose basenames
-match
-.IR pattern .
-.TP
-.BI \-\-exclude\-from= file
-When comparing directories, ignore files and subdirectories whose basenames
-match any pattern contained in
-.IR file .
-.TP
-.B \-\-expand\-tabs
-Expand tabs to spaces in the output, to preserve the alignment of tabs
-in the input files.
-.TP
-.B \-f
-Make output that looks vaguely like an
-.I ed
-script but has changes
-in the order they appear in the file.
-.TP
-.BI "\-F " regexp
-In context and unified format, for each hunk of differences, show some
-of the last preceding line that matches
-.IR regexp .
-.TP
-.B \-\-forward\-ed
-Make output that looks vaguely like an
-.B ed
-script but has changes
-in the order they appear in the file.
-.TP
-.B \-h
-This option currently has no effect; it is present for Unix
-compatibility.
-.TP
-.B \-H
-Use heuristics to speed handling of large files that have numerous
-scattered small changes.
-.TP
-.BI \-\-horizon\-lines= lines
-Do not discard the last
-.I lines
-lines of the common prefix
-and the first
-.I lines
-lines of the common suffix.
-.TP
-.B \-i
-Ignore changes in case; consider upper- and lower-case letters
-equivalent.
-.TP
-.BI "\-I " regexp
-Ignore changes that just insert or delete lines that match
-.IR regexp .
-.TP
-.BI \-\-ifdef= name
-Make merged if-then-else format output, conditional on the preprocessor
-macro
-.IR name .
-.TP
-.B \-\-ignore\-all\-space
-Ignore white space when comparing lines.
-.TP
-.B \-\-ignore\-blank\-lines
-Ignore changes that just insert or delete blank lines.
-.TP
-.B \-\-ignore\-case
-Ignore changes in case; consider upper- and lower-case to be the same.
-.TP
-.BI \-\-ignore\-matching\-lines= regexp
-Ignore changes that just insert or delete lines that match
-.IR regexp .
-.TP
-.B \-\-ignore\-space\-change
-Ignore changes in amount of white space.
-.TP
-.B \-\-initial\-tab
-Output a tab rather than a space before the text of a line in normal or
-context format. This causes the alignment of tabs in the line to look
-normal.
-.TP
-.B \-l
-Pass the output through
-.I pr
-to paginate it.
-.TP
-.BI "\-L " label
-.br
-.ns
-.TP
-.BI \-\-label= label
-Use
-.I label
-instead of the file name in the context format
-and unified format
-headers.
-.TP
-.B \-\-left\-column
-Print only the left column of two common lines in side by side format.
-.TP
-.BI \-\-line\-format= format
-Use
-.I format
-to output all input lines in in-then-else format.
-.TP
-.B \-\-minimal
-Change the algorithm to perhaps find a smaller set of changes. This
-makes
-.I diff
-slower (sometimes much slower).
-.TP
-.B \-n
-Output RCS-format diffs; like
-.B \-f
-except that each command
-specifies the number of lines affected.
-.TP
-.B \-N
-.br
-.ns
-.TP
-.B \-\-new\-file
-In directory comparison, if a file is found in only one directory,
-treat it as present but empty in the other directory.
-.TP
-.BI \-\-new\-group\-format= format
-Use
-.I format
-to output a group of lines taken from just the second
-file in if-then-else format.
-.TP
-.BI \-\-new\-line\-format= format
-Use
-.I format
-to output a line taken from just the second file in
-if-then-else format.
-.TP
-.B \-o
-Use the old traditional output format.
-.TP
-.BI \-\-old\-group\-format= format
-Use
-.I format
-to output a group of lines taken from just the first
-file in if-then-else format.
-.TP
-.BI \-\-old\-line\-format= format
-Use
-.I format
-to output a line taken from just the first file in
-if-then-else format.
-.TP
-.B \-p
-Show which C function each change is in.
-.TP
-.B \-P
-When comparing directories, if a file appears only in the second
-directory of the two, treat it as present but empty in the other.
-.TP
-.B \-\-paginate
-Pass the output through
-.I pr
-to paginate it.
-.TP
-.B \-q
-Report only whether the files differ, not the details of the
-differences.
-.TP
-.B \-\-rcs
-Output RCS-format diffs; like
-.B \-f
-except that each command
-specifies the number of lines affected.
-.TP
-.B \-r
-.br
-.ns
-.TP
-.B \-\-recursive
-When comparing directories, recursively compare any subdirectories
-found.
-.TP
-.B \-s
-.br
-.ns
-.TP
-.B \-\-report\-identical\-files
-Report when two files are the same.
-.TP
-.BI "\-S " file
-When comparing directories, start with the file
-.IR file .
-This is
-used for resuming an aborted comparison.
-.TP
-.B \-\-sdiff\-merge\-assist
-Print extra information to help
-.IR sdiff .
-.I sdiff
-uses this
-option when it runs
-.IR diff .
-This option is not intended for users
-to use directly.
-.TP
-.B \-\-show\-c\-function
-Show which C function each change is in.
-.TP
-.BI \-\-show\-function\-line= regexp
-In context and unified format, for each hunk of differences, show some
-of the last preceding line that matches
-.IR regexp .
-.TP
-.B \-\-side\-by\-side
-Use the side by side output format.
-.TP
-.B \-\-speed\-large\-files
-Use heuristics to speed handling of large files that have numerous
-scattered small changes.
-.TP
-.BI \-\-starting\-file= file
-When comparing directories, start with the file
-.IR file .
-This is
-used for resuming an aborted comparison.
-.TP
-.B \-\-suppress\-common\-lines
-Do not print common lines in side by side format.
-.TP
-.B \-t
-Expand tabs to spaces in the output, to preserve the alignment of tabs
-in the input files.
-.TP
-.B \-T
-Output a tab rather than a space before the text of a line in normal or
-context format. This causes the alignment of tabs in the line to look
-normal.
-.TP
-.B \-\-text
-Treat all files as text and compare them line-by-line, even if they
-do not appear to be text.
-.TP
-.B \-u
-Use the unified output format.
-.TP
-.BI \-\-unchanged\-group\-format= format
-Use
-.I format
-to output a group of common lines taken from both files
-in if-then-else format.
-.TP
-.BI \-\-unchanged\-line\-format= format
-Use
-.I format
-to output a line common to both files in if-then-else
-format.
-.TP
-.B \-\-unidirectional\-new\-file
-When comparing directories, if a file appears only in the second
-directory of the two, treat it as present but empty in the other.
-.TP
-.BI "\-U " lines
-.br
-.ns
-.TP
-.BI \-\-unified[= lines ]
-Use the unified output format, showing
-.I lines
-(an integer) lines of
-context, or three if
-.I lines
-is not given.
-For proper operation,
-.I patch
-typically needs at least two lines of
-context.
-.TP
-.B \-v
-.br
-.ns
-.TP
-.B \-\-version
-Output the version number of
-.IR diff .
-.TP
-.B \-w
-Ignore horizontal white space when comparing lines.
-.TP
-.BI "\-W " columns
-.br
-.ns
-.TP
-.BI \-\-width= columns
-Use an output width of
-.I columns
-in side by side format.
-.TP
-.BI "\-x " pattern
-When comparing directories, ignore files and subdirectories whose basenames
-match
-.IR pattern .
-.TP
-.BI "\-X " file
-When comparing directories, ignore files and subdirectories whose basenames
-match any pattern contained in
-.IR file .
-.TP
-.B \-y
-Use the side by side output format.
-.SH RETURN VALUE
-.I diff
-returns 0 if the files are identical or 1 if the files differ.
-If one or both of the files cannot be opened,
-then the return value is set to 2.
-.SH ENVIRONMENT
-The environment variable
-.B DIFF_OPTIONS
-can hold a set of default
-options for
-.I diff.
-These options are interpreted first and can be overwritten by explicit command
-line parameters.
-.SH EXAMPLES
-To save to a file some changes that you have made to your local source
-tree (possibly including new files), which you would like to show to others
-(perhaps using the
-.B send-pr(1)
-program), you could type
-.sp
-diff -urN foo.orig foo >foo.diff
-.sp
-where
-.I foo.orig
-and
-.I foo
-might be directory hierarchies or single files.
-.SH SEE ALSO
-cmp(1), comm(1), diff3(1), ed(1), patch(1), pr(1), sdiff(1).
-.SH DIAGNOSTICS
-An exit status of 0 means no differences were found, 1 means some
-differences were found, and 2 means trouble.
diff --git a/gnu/usr.bin/diff/diff.c.diff b/gnu/usr.bin/diff/diff.c.diff
new file mode 100644
index 0000000..884a9c4
--- /dev/null
+++ b/gnu/usr.bin/diff/diff.c.diff
@@ -0,0 +1,69 @@
+$FreeBSD$
+--- diff.c.orig 2004-04-12 15:44:35.000000000 +0800
++++ diff.c 2007-06-15 14:51:05.506679851 +0800
+@@ -137,7 +137,7 @@
+ }
+
+ static char const shortopts[] =
+-"0123456789abBcC:dD:eEfF:hHiI:lL:nNpPqrsS:tTuU:vwW:x:X:y";
++"0123456789abBcC:dD:eEfF:hHiI:lL:nNopPqrsS:tTuU:vwW:x:X:y";
+
+ /* Values for long options that do not have single-letter equivalents. */
+ enum
+@@ -265,14 +265,15 @@
+ initialize_main (&argc, &argv);
+ program_name = argv[0];
+ setlocale (LC_ALL, "");
+- bindtextdomain (PACKAGE, LOCALEDIR);
+ textdomain (PACKAGE);
+ c_stack_action (0);
+ function_regexp_list.buf = &function_regexp;
+ ignore_regexp_list.buf = &ignore_regexp;
+- re_set_syntax (RE_SYNTAX_GREP | RE_NO_POSIX_BACKTRACKING);
++ re_set_syntax (RE_SYNTAX_GREP);
+ excluded = new_exclude ();
+
++ prepend_default_options (getenv ("DIFF_OPTIONS"), &argc, &argv);
++
+ /* Decode the options. */
+
+ while ((c = getopt_long (argc, argv, shortopts, longopts, 0)) != -1)
+@@ -428,6 +429,11 @@
+ new_file = true;
+ break;
+
++ case 'o':
++ /* Output in the old tradition style. */
++ specify_style (OUTPUT_NORMAL);
++ break;
++
+ case 'p':
+ show_c_function = true;
+ add_regexp (&function_regexp_list, "^[[:alpha:]$_]");
+@@ -983,8 +989,6 @@
+ {
+ if (output_style != style)
+ {
+- if (output_style != OUTPUT_UNSPECIFIED)
+- try_help ("conflicting output style options", 0);
+ output_style = style;
+ }
+ }
+@@ -997,7 +1001,7 @@
+ #ifdef ST_MTIM_NSEC
+
+ # if HAVE_CLOCK_GETTIME && defined CLOCK_REALTIME
+- if (clock_gettime (CLOCK_REALTIME, &st->st_mtim) == 0)
++ if (clock_gettime (CLOCK_REALTIME, &st->st_mtimespec) == 0)
+ return;
+ # endif
+
+@@ -1007,7 +1011,7 @@
+ if (gettimeofday (&timeval, 0) == 0)
+ {
+ st->st_mtime = timeval.tv_sec;
+- st->st_mtim.ST_MTIM_NSEC = timeval.tv_usec * 1000;
++ st->st_mtimespec.ST_MTIM_NSEC = timeval.tv_usec * 1000;
+ return;
+ }
+ }
diff --git a/gnu/usr.bin/diff/doc/Makefile b/gnu/usr.bin/diff/doc/Makefile
index 973dbcc..a8a874a 100644
--- a/gnu/usr.bin/diff/doc/Makefile
+++ b/gnu/usr.bin/diff/doc/Makefile
@@ -4,6 +4,6 @@ INFO = diff
INFOENTRY_diff= "* DIFF: (diff). DIFF/PATCH Reference Manual."
-SRCDIR=${.CURDIR}/../../../../contrib/diff
+SRCDIR=${.CURDIR}/../../../../contrib/diff/doc
.include <bsd.info.mk>
diff --git a/gnu/usr.bin/diff3/Makefile b/gnu/usr.bin/diff3/Makefile
index f5f9c89..9fbb5db 100644
--- a/gnu/usr.bin/diff3/Makefile
+++ b/gnu/usr.bin/diff3/Makefile
@@ -1,15 +1,27 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../contrib/diff
+DIFFSRC=${.CURDIR}/../../../contrib/diff/src
+.PATH: ${DIFFSRC} \
+ ${.CURDIR}/../../../contrib/diff/lib \
+ ${.CURDIR}/../../../contrib/diff/man
PROG= diff3
-SRCS= diff3.c version.c
+SRCS= diff3.c version-etc.c \
+ xmalloc.c error.c c-stack.c exitfail.c cmpbuf.c
# Important for ctype macros!
CFLAGS+=-funsigned-char
-CFLAGS+=-I${.CURDIR}/../../../contrib/diff
+CFLAGS+=-I${.CURDIR}/../../../contrib/diff/
+CFLAGS+=-I${.CURDIR}/../../../contrib/diff/src
+CFLAGS+=-I${.CURDIR}/../../../contrib/diff/lib
CFLAGS+=-DHAVE_CONFIG_H
-CFLAGS+=-DDIFF_PROGRAM=\"/usr/bin/diff\"
+CFLAGS+=-DDEFAULT_DIFF_PROGRAM=\"/usr/bin/diff\"
+
+.for f in diff3.c
+${f}: ${DIFFSRC}/${f} ${.CURDIR}/${f}.diff
+ patch -s -b .orig -o ${.TARGET} < ${.CURDIR}/${f}.diff ${DIFFSRC}/${f}
+CLEANFILES+= ${f}
+.endfor
.include <bsd.prog.mk>
diff --git a/gnu/usr.bin/diff3/diff3.1 b/gnu/usr.bin/diff3/diff3.1
deleted file mode 100644
index 9873b08..0000000
--- a/gnu/usr.bin/diff3/diff3.1
+++ /dev/null
@@ -1,210 +0,0 @@
-.TH DIFF3 1 "22sep1993" "GNU Tools" "GNU Tools"
-.SH NAME
-diff3 \- find differences between three files
-.SH SYNOPSIS
-.B diff3
-[options] mine older yours
-.SH DESCRIPTION
-The
-.I diff3
-command compares three files and outputs descriptions
-of their differences.
-
-The files to compare are
-.IR mine ,
-.IR older ,
-and
-.IR yours .
-At most one of these three file names may be
-.BR \- ,
-which tells
-.I diff3
-to read the standard input for that file.
-.SS Options
-Below is a summary of all of the options that GNU
-.I diff3
-accepts. Multiple single letter options (unless they take an argument)
-can be combined into a single command line argument.
-.TP
-.B \-a
-Treat all files as text and compare them line-by-line, even if they
-do not appear to be text.
-.TP
-.B \-A
-Incorporate all changes from
-.I older
-to
-.I yours
-into
-.IR mine ,
-surrounding all conflicts with bracket lines.
-.TP
-.B \-B
-Old behavior of -A. Shows non-conflicts.
-.TP
-.B \-e
-Generate an
-.I ed
-script that incorporates all the changes from
-.I older
-to
-.I yours
-into
-.IR mine .
-.TP
-.B \-E
-Like
-.BR \-e ,
-except bracket lines from overlapping changes' first
-and third files.
-With
-.BR \-e ,
-an overlapping change looks like this:
-.sp
-.nf
-<<<<<<< \fImine\fP
-lines from \fImine\fP
-=======
-lines from \fIyours\fP
->>>>>>> \fIyours\fP
-.fi
-.TP
-.B \-\-ed
-Generate an
-.I ed
-script that incorporates all the changes from
-.I older
-to
-.I yours
-into
-.IR mine .
-.TP
-.B \-\-easy\-only
-Like
-.BR \-e ,
-except output only the nonoverlapping changes.
-.TP
-.B \-i
-Generate
-.B w
-and
-.B q
-commands at the end of the
-.I ed
-script for System V compatibility. This option must be combined with
-one of the
-.B \-AeExX3
-options, and may not be combined with
-.BR \-m .
-.TP
-.B \-\-initial\-tab
-Output a tab rather than two spaces before the text of a line in normal format.
-This causes the alignment of tabs in the line to look normal.
-.TP
-.BI "\-L " label
-.ns
-.TP
-.BI \-\-label= label
-Use the label
-.I label
-for the brackets output by the
-.BR \-A ,
-.B \-E
-and
-.B \-X
-options. This option may be given up to three
-times, one for each input file. The default labels are the names of
-the input files. Thus
-.B "diff3 \-L X \-L Y \-L Z \-m A B C"
-acts like
-.BR "diff3 \-m A B C ,
-except that the output looks like it came from
-files named
-.BR X ,
-.B Y
-and
-.B Z
-rather than from files
-named
-.BR A ,
-.B B
-and
-.BR C .
-.TP
-.B \-m
-.br
-.ns
-.TP
-.B \-\-merge
-Apply the edit script to the first file and send the result to standard
-output. Unlike piping the output from
-.I diff3
-to
-.IR ed ,
-this
-works even for binary files and incomplete lines.
-.B \-A
-is assumed
-if no edit script option is specified.
-.TP
-.B \-\-overlap\-only
-Like
-.BR \-e ,
-except output only the overlapping changes.
-.TP
-.B \-\-show\-all
-Incorporate all unmerged changes from
-.I older
-to
-.I yours
-into
-.IR mine ,
-surrounding all overlapping changes with bracket lines.
-.TP
-.B \-\-show\-overlap
-Like
-.BR \-e ,
-except bracket lines from overlapping changes' first
-and third files.
-.TP
-.B \-T
-Output a tab rather than two spaces before the text of a line in normal format.
-This causes the alignment of tabs in the line to look normal.
-.TP
-.B \-\-text
-Treat all files as text and compare them line-by-line, even if they
-do not appear to be text.
-.TP
-.B \-v
-.br
-.ns
-.TP
-.B \-\-version
-Output the version number of
-.IR diff3 .
-.TP
-.B \-x
-Like
-.BR \-e ,
-except output only the overlapping changes.
-.TP
-.B \-X
-Like
-.BR \-E ,
-except output only the overlapping changes.
-In other words, like
-.BR \-x ,
-except bracket changes as in
-.BR \-E .
-.TP
-.B \-3
-Like
-.BR \-e ,
-except output only the nonoverlapping changes.
-.SH SEE ALSO
-cmp(1), comm(1), diff(1), ed(1), patch(1), sdiff(1).
-.SH DIAGNOSTICS
-An exit status of 0 means
-.I diff3
-was successful, 1 means some
-conflicts were found, and 2 means trouble.
diff --git a/gnu/usr.bin/diff3/diff3.c.diff b/gnu/usr.bin/diff3/diff3.c.diff
new file mode 100644
index 0000000..153d6e8
--- /dev/null
+++ b/gnu/usr.bin/diff3/diff3.c.diff
@@ -0,0 +1,11 @@
+$FreeBSD$
+--- diff3.c.orig 2004-04-12 15:44:35.000000000 +0800
++++ diff3.c 2007-06-15 14:49:23.903835977 +0800
+@@ -230,7 +230,6 @@
+ initialize_main (&argc, &argv);
+ program_name = argv[0];
+ setlocale (LC_ALL, "");
+- bindtextdomain (PACKAGE, LOCALEDIR);
+ textdomain (PACKAGE);
+ c_stack_action (0);
+
diff --git a/gnu/usr.bin/sdiff/Makefile b/gnu/usr.bin/sdiff/Makefile
index f4f4c28..c40cd4d 100644
--- a/gnu/usr.bin/sdiff/Makefile
+++ b/gnu/usr.bin/sdiff/Makefile
@@ -1,16 +1,28 @@
# $FreeBSD$
-.PATH: ${.CURDIR}/../../../contrib/diff
+DIFFSRC=${.CURDIR}/../../../contrib/diff/src
+.PATH: ${DIFFSRC} \
+ ${.CURDIR}/../../../contrib/diff/lib \
+ ${.CURDIR}/../../../contrib/diff/man
PROG= sdiff
-SRCS= sdiff.c version.c
+SRCS= sdiff.c version-etc.c \
+ error.c xmalloc.c c-stack.c basename.c strtoumax.c \
+ exitfail.c
# Important for ctype macros!
CFLAGS+=-funsigned-char
CFLAGS+=-I${.CURDIR}/../../../contrib/diff
+CFLAGS+=-I${.CURDIR}/../../../contrib/diff/src
+CFLAGS+=-I${.CURDIR}/../../../contrib/diff/lib
CFLAGS+=-DHAVE_CONFIG_H
-CFLAGS+=-DDIFF_PROGRAM=\"/usr/bin/diff\"
-CFLAGS+=-DDEFAULT_EDITOR_PROGRAM=\"/usr/bin/vi\"
+CFLAGS+=-DDEFAULT_DIFF_PROGRAM=\"/usr/bin/diff\"
+
+.for f in sdiff.c
+${f}: ${DIFFSRC}/${f} ${.CURDIR}/${f}.diff
+ patch -s -b .orig -o ${.TARGET} < ${.CURDIR}/${f}.diff ${DIFFSRC}/${f}
+CLEANFILES+= ${f}
+.endfor
.include <bsd.prog.mk>
diff --git a/gnu/usr.bin/sdiff/sdiff.1 b/gnu/usr.bin/sdiff/sdiff.1
deleted file mode 100644
index b5faa3e..0000000
--- a/gnu/usr.bin/sdiff/sdiff.1
+++ /dev/null
@@ -1,205 +0,0 @@
-.\" $FreeBSD$
-.\"
-.TH SDIFF 1 "22sep1993" "GNU Tools" "GNU Tools"
-.SH NAME
-sdiff \- find differences between two files and merge interactively
-.SH SYNOPSIS
-.B sdiff
-.B -o
-outfile [options] from-file to-file
-.SH DESCRIPTION
-The
-.I sdiff
-command merges two files and interactively outputs the
-results to
-.IR outfile .
-
-If
-.I from-file
-is a directory and
-.I to-file
-is not,
-.I sdiff
-compares the file in
-.I from-file
-whose file name is that of
-.IR to-file ,
-and vice versa.
-.I from-file
-and
-.I to-file
-may not both be
-directories.
-
-.I sdiff
-options begin with
-.BR \- ,
-so normally
-.I from-file
-and
-.I to-file
-may not begin with
-.BR \- .
-However,
-.B \-\-
-as an
-argument by itself treats the remaining arguments as file names even if
-they begin with
-.BR \- .
-You may not use
-.B \-
-as an input file.
-
-.I sdiff
-without
-.B \-o
-(or
-.BR \-\-output )
-produces a
-side-by-side difference. This usage is obsolete; use
-.B "diff \-\-side\-by\-side"
-instead.
-.SS Options
-Below is a summary of all of the options that GNU
-.I sdiff
-accepts.
-Each option has two equivalent names, one of which is a single
-letter preceded by
-.BR \- ,
-and the other of which is a long name
-preceded by
-.BR \-\- .
-Multiple single letter options (unless they take
-an argument) can be combined into a single command line argument. Long
-named options can be abbreviated to any unique prefix of their name.
-.TP
-.B \-a
-Treat all files as text and compare them line-by-line, even if they
-do not appear to be text.
-.TP
-.B \-b
-Ignore changes in amount of white space.
-.TP
-.B \-B
-Ignore changes that just insert or delete blank lines.
-.TP
-.B \-d
-Change the algorithm to perhaps find a smaller set of changes. This
-makes
-.I sdiff
-slower (sometimes much slower).
-.TP
-.B \-H
-Use heuristics to speed handling of large files that have numerous
-scattered small changes.
-.TP
-.B \-\-expand\-tabs
-Expand tabs to spaces in the output, to preserve the alignment of tabs
-in the input files.
-.TP
-.B \-i
-Ignore changes in case; consider upper- and lower-case to be the same.
-.TP
-.BI "\-I " regexp
-Ignore changes that just insert or delete lines that match
-.IR regexp .
-.TP
-.B \-\-ignore\-all\-space
-Ignore white space when comparing lines.
-.TP
-.B \-\-ignore\-blank\-lines
-Ignore changes that just insert or delete blank lines.
-.TP
-.B \-\-ignore\-case
-Ignore changes in case; consider upper- and lower-case to be the same.
-.TP
-.BI \-\-ignore\-matching\-lines= regexp
-Ignore changes that just insert or delete lines that match
-.IR regexp .
-.TP
-.B \-\-ignore\-space\-change
-Ignore changes in amount of white space.
-.TP
-.B \-l
-.br
-.ns
-.TP
-.B \-\-left\-column
-Print only the left column of two common lines.
-.TP
-.B \-\-minimal
-Change the algorithm to perhaps find a smaller set of changes. This
-makes
-.I sdiff
-slower (sometimes much slower).
-.TP
-.BI "\-o " file
-.br
-.ns
-.TP
-.BI \-\-output= file
-Put merged output into
-.IR file .
-This option is required for merging.
-.TP
-.B \-s
-.br
-.ns
-.TP
-.B \-\-suppress\-common\-lines
-Do not print common lines.
-.TP
-.B \-\-speed\-large\-files
-Use heuristics to speed handling of large files that have numerous
-scattered small changes.
-.TP
-.B \-t
-Expand tabs to spaces in the output, to preserve the alignment of tabs
-in the input files.
-.TP
-.B \-\-text
-Treat all files as text and compare them line-by-line, even if they
-do not appear to be text.
-.TP
-.B \-v
-.br
-.ns
-.TP
-.B \-\-version
-Output the version number of
-.IR sdiff .
-.TP
-.BI "\-w " columns
-.br
-.ns
-.TP
-.BI \-\-width= columns
-Use an output width of
-.IR columns .
-Note that for historical reasons, this option is
-.B \-W
-in
-.IR diff ,
-.B \-w
-in
-.IR sdiff .
-.TP
-.B \-W
-Ignore horizontal white space when comparing lines.
-Note that for historical reasons, this option is
-.B \-w
-in
-.IR diff ,
-.B \-W
-in
-.IR sdiff .
-.SH SEE ALSO
-cmp(1), comm(1), diff(1), diff3(1).
-
-The
-.B info
-documentation of
-.BR diff .
-.SH DIAGNOSTICS
-An exit status of 0 means no differences were found, 1 means some
-differences were found, and 2 means trouble.
diff --git a/gnu/usr.bin/sdiff/sdiff.c.diff b/gnu/usr.bin/sdiff/sdiff.c.diff
new file mode 100644
index 0000000..bdb208b
--- /dev/null
+++ b/gnu/usr.bin/sdiff/sdiff.c.diff
@@ -0,0 +1,11 @@
+$FreeBSD$
+--- sdiff.c.orig 2004-04-12 15:44:35.000000000 +0800
++++ sdiff.c 2007-06-15 14:53:08.790433972 +0800
+@@ -455,7 +455,6 @@
+ initialize_main (&argc, &argv);
+ program_name = argv[0];
+ setlocale (LC_ALL, "");
+- bindtextdomain (PACKAGE, LOCALEDIR);
+ textdomain (PACKAGE);
+ c_stack_action (cleanup);
+
OpenPOWER on IntegriCloud