summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/patch/patch/global-reject-file.diff
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/patch/patch/global-reject-file.diff')
-rw-r--r--meta/recipes-devtools/patch/patch/global-reject-file.diff203
1 files changed, 0 insertions, 203 deletions
diff --git a/meta/recipes-devtools/patch/patch/global-reject-file.diff b/meta/recipes-devtools/patch/patch/global-reject-file.diff
deleted file mode 100644
index bb7ca79123..0000000000
--- a/meta/recipes-devtools/patch/patch/global-reject-file.diff
+++ /dev/null
@@ -1,203 +0,0 @@
-Upstream-Status: Inappropriate [debian patch]
-
-Index: patch-2.5.9/patch.man
-===================================================================
---- patch-2.5.9.orig/patch.man
-+++ patch-2.5.9/patch.man
-@@ -520,6 +520,15 @@ file.
- \fB\*=reject\-unified\fP
- Produce unified reject files. The default is to produce context type reject files.
- .TP
-+.BI \*=global\-reject\-file= rejectfile
-+Put all rejects into
-+.I rejectfile
-+instead of creating separate reject files for all files that have rejects. The
-+.I rejectfile
-+will contain headers that identify which file each reject refers to. Note that
-+the global reject file is created even if \-\-dry\-run is specified (while
-+non-global reject files will only be created without \-\-dry\-run).
-+.TP
- \fB\-R\fP or \fB\*=reverse\fP
- Assume that this patch was created with the old and new files swapped.
- (Yes, I'm afraid that does happen occasionally, human nature being what it
-Index: patch-2.5.9/patch.c
-===================================================================
---- patch-2.5.9.orig/patch.c
-+++ patch-2.5.9/patch.c
-@@ -67,6 +67,7 @@ static bool similar (char const *, size_
- static bool spew_output (struct outstate *);
- static char const *make_temp (char);
- static int numeric_string (char const *, bool, char const *);
-+static void reject_header (const char *filename);
- static void abort_hunk (void);
- static void cleanup (void);
- static void get_some_switches (void);
-@@ -98,6 +99,7 @@ static int Argc;
- static char * const *Argv;
-
- static FILE *rejfp; /* reject file pointer */
-+static char *global_reject;
-
- static char const *patchname;
- static char *rejname;
-@@ -172,6 +174,10 @@ main (int argc, char **argv)
- /* Make sure we clean up in case of disaster. */
- set_signals (false);
-
-+ /* initialize global reject file */
-+ if (global_reject)
-+ init_reject ();
-+
- for (
- open_patch_file (patchname);
- there_is_another_patch();
-@@ -208,8 +214,9 @@ main (int argc, char **argv)
- init_output (TMPOUTNAME, exclusive, &outstate);
- }
-
-- /* initialize reject file */
-- init_reject ();
-+ /* initialize per-patch reject file */
-+ if (!global_reject)
-+ init_reject ();
-
- /* find out where all the lines are */
- if (!skip_rest_of_patch)
-@@ -278,6 +285,8 @@ main (int argc, char **argv)
-
- newwhere = pch_newfirst() + last_offset;
- if (skip_rest_of_patch) {
-+ if (!failed)
-+ reject_header(outname);
- abort_hunk();
- failed++;
- if (verbosity == VERBOSE)
-@@ -292,6 +301,8 @@ main (int argc, char **argv)
- say ("Patch attempted to create file %s, which already exists.\n",
- quotearg (inname));
-
-+ if (!failed)
-+ reject_header(outname);
- abort_hunk();
- failed++;
- if (verbosity != SILENT)
-@@ -299,6 +310,8 @@ main (int argc, char **argv)
- format_linenum (numbuf, newwhere));
- }
- else if (! apply_hunk (&outstate, where)) {
-+ if (!failed)
-+ reject_header(outname);
- abort_hunk ();
- failed++;
- if (verbosity != SILENT)
-@@ -332,7 +345,8 @@ main (int argc, char **argv)
- fclose (outstate.ofp);
- outstate.ofp = 0;
- }
-- fclose (rejfp);
-+ if (!global_reject)
-+ fclose (rejfp);
- continue;
- }
-
-@@ -412,13 +426,13 @@ main (int argc, char **argv)
- }
- }
- if (diff_type != ED_DIFF) {
-- if (fclose (rejfp) != 0)
-+ if (!global_reject && fclose (rejfp) != 0)
- write_fatal ();
- if (failed) {
- somefailed = true;
- say ("%d out of %d hunk%s %s", failed, hunk, "s" + (hunk == 1),
- skip_rest_of_patch ? "ignored" : "FAILED");
-- if (outname) {
-+ if (!global_reject && outname) {
- char *rej = rejname;
- if (!rejname) {
- rej = xmalloc (strlen (outname) + 5);
-@@ -445,6 +459,20 @@ main (int argc, char **argv)
- }
- set_signals (true);
- }
-+ if (global_reject)
-+ {
-+ if (fclose (rejfp) != 0)
-+ write_fatal ();
-+ if (somefailed)
-+ {
-+ say (" -- saving rejects to file %s\n", quotearg (global_reject));
-+ /*if (! dry_run)
-+ {*/
-+ move_file (TMPREJNAME, &TMPREJNAME_needs_removal,
-+ global_reject, 0644, false);
-+ /*}*/
-+ }
-+ }
- if (outstate.ofp && (ferror (outstate.ofp) || fclose (outstate.ofp) != 0))
- write_fatal ();
- cleanup ();
-@@ -523,6 +551,7 @@ static struct option const longopts[] =
- {"posix", no_argument, NULL, CHAR_MAX + 7},
- {"quoting-style", required_argument, NULL, CHAR_MAX + 8},
- {"unified-reject-files", no_argument, NULL, CHAR_MAX + 9},
-+ {"global-reject-file", required_argument, NULL, CHAR_MAX + 10},
- {NULL, no_argument, NULL, 0}
- };
-
-@@ -582,6 +611,7 @@ static char const *const option_help[] =
- " --dry-run Do not actually change any files; just print what would happen.",
- " --posix Conform to the POSIX standard.",
- " --unified-reject-files Create unified reject files.",
-+" --global-reject-file=file Put all rejects into one file.",
- "",
- " -d DIR --directory=DIR Change the working directory to DIR first.",
- #if HAVE_SETMODE_DOS
-@@ -784,6 +814,9 @@ get_some_switches (void)
- case CHAR_MAX + 9:
- unified_reject_files = true;
- break;
-+ case CHAR_MAX + 10:
-+ global_reject = savestr (optarg);
-+ break;
- default:
- usage (stderr, 2);
- }
-@@ -933,6 +966,37 @@ locate_hunk (LINENUM fuzz)
- }
-
- static char *
-+format_timestamp (char timebuf[37], bool which)
-+{
-+ time_t ts = pch_timestamp(which);
-+ if (ts != -1)
-+ {
-+ struct tm *tm = localtime(&ts);
-+ strftime(timebuf, 37, "\t%Y-%m-%d %H:%M:%S.000000000 %z", tm);
-+ }
-+ else
-+ timebuf[0] = 0;
-+ return timebuf;
-+}
-+
-+/* Write a header in a reject file that combines multiple hunks. */
-+static void
-+reject_header (const char *outname)
-+{
-+ char timebuf0[37], timebuf1[37];
-+ if (!global_reject)
-+ return;
-+ if (diff_type == UNI_DIFF)
-+ fprintf(rejfp, "--- %s.orig%s\n+++ %s%s\n",
-+ outname, format_timestamp(timebuf0, reverse),
-+ outname, format_timestamp(timebuf1, !reverse));
-+ else
-+ fprintf(rejfp, "*** %s.orig%s\n--- %s%s\n",
-+ outname, format_timestamp(timebuf0, reverse),
-+ outname, format_timestamp(timebuf1, !reverse));
-+}
-+
-+static char *
- format_linerange (char rangebuf[LINENUM_LENGTH_BOUND*2 + 2],
- LINENUM first, LINENUM lines)
- {