diff --git a/.gitignore b/.gitignore index 6e944a0..483220f 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ patch-2.6.1.tar.xz /patch-2.7.3.tar.xz /patch-2.7.4.tar.xz /patch-2.7.5.tar.xz +/patch-2.7.6.tar.xz diff --git a/patch-2.7.5.tar.xz.sig b/patch-2.7.5.tar.xz.sig deleted file mode 100644 index abcdfe3..0000000 --- a/patch-2.7.5.tar.xz.sig +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1 - -iQIcBAABAgAGBQJU+kkKAAoJEMTJJ81dGzbX5kkQAIzmrfE6cNYkfZhpyhdFVeI1 -0BJ74bkhTuu66lcjR3YR/ADP6agAOTxD787hG9WuwSjDjHmVXnFjQ9izdtR5U7Ak -JcjPR/NEMCbpWTUiK5GToz/hyvOq/H/dl0FA0Myv1LFIrQZFIT28x1+x89bp8j/n -SLlEV/KKFLZ9yZKuDId2WSQNfFPJgKpUXA71A5JUk1U2csX1vj5IpVu/wjFj1Z+m -6vuBSJ/iKAGq9hibVqz/q9FC+M3/oVCvBNPXex4RQHjNoviKUoNCw1f4QOjv1OOt -mXWly0sOTynDlzlv3XQTCm+BKENfl+Uij4Bw7fRHGu4sSUVu3CluZjjsIPmy195l -WvYuJ181S83VP01iW9o6Tnhdgxp0XH7d0SFKOeIo+xzHW86hgg5UFOAw8AHGfh1i -lnXjDYvnx2p0hl3/izHXuCq/vJ0O4D8CSbljBHoUXw83piW1k44Fn1NWD691IJKc -W11V6qbANt5E57/7hwm+zK8xp1ooew/SZBOlVVQYpDXiv4nTIHHxmnk/1z9c56F2 -LqI13farflnxboJwOlDjdxbPXths6G9zWu2Q7+fQOo7WZsCmoa4z7w4YsGCNLZRW -sv/Hz0U29DokL/m3fZMjfwrWEb3n7T691Lb7NoRGkdXmxfwZiH2hiXWFHJsWwmMW -Hu8c7dwmco6PrPOg1Gpd -=9BQ9 ------END PGP SIGNATURE----- diff --git a/patch-2.7.6.tar.xz.sig b/patch-2.7.6.tar.xz.sig new file mode 100644 index 0000000..a906288 --- /dev/null +++ b/patch-2.7.6.tar.xz.sig @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIcBAABAgAGBQJaed0dAAoJENW/n+sDE2U62ScQAK02GcPxJccBefkcuC6q/or9 +f1im2lIpc1YJqxHmmhDeRu9twjuFycUV55hud+OroJe2xYKZrI6oUwJBldKTRfHu +whlhRzERO3U4z9pvi8XWbKvObsmqSBIgsM72oby4aPLCWk7IpJprR6BnRZdtnBg1 +jzM3Yka8k01+dmVH2rsoSEGAe9sZbXJazBoYg8N/wHKe2+NY4W3esZ7flxQJ9RvB +GxjVU/KbyoNXIoFU4EnMalcLTZTHThhv2kQ1/cQZ+gt/1+f00DoieaUaIg3qB8jX +IqYE4GvXILgx8+REE3utt0zKv7pYGBNRkuACUE2hLZoY4SporJ0J63/7Y8zrzjxQ +GE27+DcjxBQGd1GnpO/Xb4kpqBGyn4KrlBIiHkhk2GgyBewpXPMog3cJki7A/1vz +Qb+JTY8PBqvOe7DmxW4Bp1vX6eOKn14FDQ7q3ZPjAd52Jtn7GUEt4etCduQh7ZNt +ElLLvpPro1wxG1bTbA3+TysCd+9XWWjwKJlPK5Jbdii0R73iy386UZGN1t1kmBzS +1mn3nh82z/XO9lPU3e1WP0BANAzTrNqA66ZbfQ9fIu6UO8R/+ygT7U5yie+X3xwP +kM6HR6oD0eDkqbPbOr8hey0kPG3FAWkZ47Oju5ad1ntUBFj4buLybEY0e08hncJS +gdt7wrbeKKxzdrcyQ1qy +=mjHo +-----END PGP SIGNATURE----- diff --git a/patch-selinux.patch b/patch-selinux.patch index da7a97b..7c16a1a 100644 --- a/patch-selinux.patch +++ b/patch-selinux.patch @@ -1,6 +1,6 @@ -diff -up patch-2.7.5/src/common.h.selinux patch-2.7.5/src/common.h ---- patch-2.7.5/src/common.h.selinux 2015-02-28 16:02:30.000000000 +0000 -+++ patch-2.7.5/src/common.h 2015-03-09 09:29:46.083415914 +0000 +diff -up patch-2.7.6/src/common.h.selinux patch-2.7.6/src/common.h +--- patch-2.7.6/src/common.h.selinux 2018-02-03 12:41:49.000000000 +0000 ++++ patch-2.7.6/src/common.h 2018-02-12 12:29:44.415225377 +0000 @@ -30,6 +30,8 @@ #include #include @@ -18,9 +18,9 @@ diff -up patch-2.7.5/src/common.h.selinux patch-2.7.5/src/common.h XTERN bool dry_run; XTERN bool posixly_correct; -diff -up patch-2.7.5/src/inp.c.selinux patch-2.7.5/src/inp.c ---- patch-2.7.5/src/inp.c.selinux 2015-03-07 00:34:20.000000000 +0000 -+++ patch-2.7.5/src/inp.c 2015-03-09 09:29:46.084415918 +0000 +diff -up patch-2.7.6/src/inp.c.selinux patch-2.7.6/src/inp.c +--- patch-2.7.6/src/inp.c.selinux 2017-09-04 12:34:16.000000000 +0100 ++++ patch-2.7.6/src/inp.c 2018-02-12 12:29:44.415225377 +0000 @@ -145,7 +145,7 @@ get_input_file (char const *filename, ch char *getbuf; @@ -47,9 +47,9 @@ diff -up patch-2.7.5/src/inp.c.selinux patch-2.7.5/src/inp.c } else if (! ((S_ISREG (file_type) || S_ISLNK (file_type)) && (file_type & S_IFMT) == (instat.st_mode & S_IFMT))) -diff -up patch-2.7.5/src/Makefile.am.selinux patch-2.7.5/src/Makefile.am ---- patch-2.7.5/src/Makefile.am.selinux 2015-03-07 00:34:20.000000000 +0000 -+++ patch-2.7.5/src/Makefile.am 2015-03-09 09:29:46.084415918 +0000 +diff -up patch-2.7.6/src/Makefile.am.selinux patch-2.7.6/src/Makefile.am +--- patch-2.7.6/src/Makefile.am.selinux 2017-09-04 12:34:16.000000000 +0100 ++++ patch-2.7.6/src/Makefile.am 2018-02-12 12:29:44.415225377 +0000 @@ -37,7 +37,7 @@ patch_SOURCES = \ AM_CPPFLAGS = -I$(top_builddir)/lib -I$(top_srcdir)/lib @@ -59,10 +59,10 @@ diff -up patch-2.7.5/src/Makefile.am.selinux patch-2.7.5/src/Makefile.am if ENABLE_MERGE patch_SOURCES += merge.c -diff -up patch-2.7.5/src/Makefile.in.selinux patch-2.7.5/src/Makefile.in ---- patch-2.7.5/src/Makefile.in.selinux 2015-03-07 00:34:34.000000000 +0000 -+++ patch-2.7.5/src/Makefile.in 2015-03-09 09:29:46.084415918 +0000 -@@ -1068,7 +1068,7 @@ patch_SOURCES = bestmatch.h common.h inp +diff -up patch-2.7.6/src/Makefile.in.selinux patch-2.7.6/src/Makefile.in +--- patch-2.7.6/src/Makefile.in.selinux 2018-02-03 13:33:56.000000000 +0000 ++++ patch-2.7.6/src/Makefile.in 2018-02-12 12:29:44.415225377 +0000 +@@ -1147,7 +1147,7 @@ patch_SOURCES = bestmatch.h common.h inp AM_CPPFLAGS = -I$(top_builddir)/lib -I$(top_srcdir)/lib \ $(am__append_2) patch_LDADD = $(LDADD) $(top_builddir)/lib/libpatch.a $(LIB_CLOCK_GETTIME) \ @@ -71,10 +71,10 @@ diff -up patch-2.7.5/src/Makefile.in.selinux patch-2.7.5/src/Makefile.in all: all-am -diff -up patch-2.7.5/src/patch.c.selinux patch-2.7.5/src/patch.c ---- patch-2.7.5/src/patch.c.selinux 2015-03-07 00:34:20.000000000 +0000 -+++ patch-2.7.5/src/patch.c 2015-03-09 09:29:46.085415923 +0000 -@@ -263,19 +263,19 @@ main (int argc, char **argv) +diff -up patch-2.7.6/src/patch.c.selinux patch-2.7.6/src/patch.c +--- patch-2.7.6/src/patch.c.selinux 2018-02-03 12:41:49.000000000 +0000 ++++ patch-2.7.6/src/patch.c 2018-02-12 12:30:27.315164138 +0000 +@@ -269,19 +269,19 @@ main (int argc, char **argv) if (! strcmp (inname, outname)) { if (inerrno == -1) @@ -97,8 +97,8 @@ diff -up patch-2.7.5/src/patch.c.selinux patch-2.7.5/src/patch.c inerrno = -1; } if (! outerrno) -@@ -588,7 +588,7 @@ main (int argc, char **argv) - mode, &new_time); +@@ -598,7 +598,7 @@ main (int argc, char **argv) + } else { - attr |= FA_IDS | FA_MODE | FA_XATTRS; @@ -106,7 +106,7 @@ diff -up patch-2.7.5/src/patch.c.selinux patch-2.7.5/src/patch.c set_file_attributes (TMPOUTNAME, attr, inname, &instat, mode, &new_time); } -@@ -648,7 +648,7 @@ main (int argc, char **argv) +@@ -658,7 +658,7 @@ main (int argc, char **argv) struct stat oldst; int olderrno; @@ -115,7 +115,7 @@ diff -up patch-2.7.5/src/patch.c.selinux patch-2.7.5/src/patch.c if (olderrno && olderrno != ENOENT) write_fatal (); if (! olderrno && lookup_file_id (&oldst) == CREATED) -@@ -1780,7 +1780,7 @@ delete_file_later (const char *name, con +@@ -1790,7 +1790,7 @@ delete_file_later (const char *name, con if (! st) { @@ -124,9 +124,9 @@ diff -up patch-2.7.5/src/patch.c.selinux patch-2.7.5/src/patch.c pfatal ("Can't get file attributes of %s %s", "file", name); st = &st_tmp; } -diff -up patch-2.7.5/src/pch.c.selinux patch-2.7.5/src/pch.c ---- patch-2.7.5/src/pch.c.selinux 2015-03-07 00:34:20.000000000 +0000 -+++ patch-2.7.5/src/pch.c 2015-03-09 09:29:46.085415923 +0000 +diff -up patch-2.7.6/src/pch.c.selinux patch-2.7.6/src/pch.c +--- patch-2.7.6/src/pch.c.selinux 2018-02-03 12:41:49.000000000 +0000 ++++ patch-2.7.6/src/pch.c 2018-02-12 12:29:44.416225375 +0000 @@ -1,6 +1,6 @@ /* reading patches */ @@ -160,7 +160,7 @@ diff -up patch-2.7.5/src/pch.c.selinux patch-2.7.5/src/pch.c p_rfc934_nesting = 0; p_timestamp[OLD].tv_sec = p_timestamp[NEW].tv_sec = -1; p_says_nonexistent[OLD] = p_says_nonexistent[NEW] = 0; -@@ -882,7 +884,7 @@ intuit_diff_type (bool need_header, mode +@@ -883,7 +885,7 @@ intuit_diff_type (bool need_header, mode } else { @@ -169,7 +169,7 @@ diff -up patch-2.7.5/src/pch.c.selinux patch-2.7.5/src/pch.c if (! stat_errno[i]) { if (lookup_file_id (&st[i]) == DELETE_LATER) -@@ -921,7 +923,7 @@ intuit_diff_type (bool need_header, mode +@@ -922,7 +924,7 @@ intuit_diff_type (bool need_header, mode if (cs) { if (version_get (p_name[i], cs, false, readonly, @@ -178,7 +178,7 @@ diff -up patch-2.7.5/src/pch.c.selinux patch-2.7.5/src/pch.c stat_errno[i] = 0; else version_controlled[i] = 0; -@@ -984,7 +986,7 @@ intuit_diff_type (bool need_header, mode +@@ -985,7 +987,7 @@ intuit_diff_type (bool need_header, mode { if (inname) { @@ -187,7 +187,7 @@ diff -up patch-2.7.5/src/pch.c.selinux patch-2.7.5/src/pch.c if (inerrno || (instat.st_mode & S_IFMT) == file_type) maybe_reverse (inname, inerrno, inerrno || instat.st_size == 0); } -@@ -997,8 +999,14 @@ intuit_diff_type (bool need_header, mode +@@ -998,8 +1000,14 @@ intuit_diff_type (bool need_header, mode inerrno = stat_errno[i]; invc = version_controlled[i]; instat = st[i]; @@ -202,9 +202,9 @@ diff -up patch-2.7.5/src/pch.c.selinux patch-2.7.5/src/pch.c return retval; } -diff -up patch-2.7.5/src/util.c.selinux patch-2.7.5/src/util.c ---- patch-2.7.5/src/util.c.selinux 2015-03-07 00:34:20.000000000 +0000 -+++ patch-2.7.5/src/util.c 2015-03-09 09:36:02.025206352 +0000 +diff -up patch-2.7.6/src/util.c.selinux patch-2.7.6/src/util.c +--- patch-2.7.6/src/util.c.selinux 2018-02-03 12:41:49.000000000 +0000 ++++ patch-2.7.6/src/util.c 2018-02-12 12:29:44.417225374 +0000 @@ -300,6 +300,23 @@ set_file_attributes (char const *to, enu S_ISLNK (mode) ? "symbolic link" : "file", quotearg (to)); @@ -238,7 +238,7 @@ diff -up patch-2.7.5/src/util.c.selinux patch-2.7.5/src/util.c if (backup) create_backup (to, to_errno ? NULL : &to_st, false); if (! to_errno) -@@ -816,7 +833,8 @@ version_controller (char const *filename +@@ -818,7 +835,8 @@ version_controller (char const *filename Return true if successful. */ bool version_get (char const *filename, char const *cs, bool exists, bool readonly, @@ -248,7 +248,7 @@ diff -up patch-2.7.5/src/util.c.selinux patch-2.7.5/src/util.c { if (patch_get < 0) { -@@ -841,6 +859,13 @@ version_get (char const *filename, char +@@ -843,6 +861,13 @@ version_get (char const *filename, char fatal ("Can't get file %s from %s", quotearg (filename), cs); if (safe_stat (filename, filestat) != 0) pfatal ("%s", quotearg (filename)); @@ -262,7 +262,7 @@ diff -up patch-2.7.5/src/util.c.selinux patch-2.7.5/src/util.c } return 1; -@@ -1664,12 +1689,28 @@ make_tempfile (char const **name, char l +@@ -1670,12 +1695,28 @@ make_tempfile (char const **name, char l return fd; } @@ -293,9 +293,9 @@ diff -up patch-2.7.5/src/util.c.selinux patch-2.7.5/src/util.c } /* Check if a filename is relative and free of ".." components. -diff -up patch-2.7.5/src/util.h.selinux patch-2.7.5/src/util.h ---- patch-2.7.5/src/util.h.selinux 2015-01-31 21:14:01.000000000 +0000 -+++ patch-2.7.5/src/util.h 2015-03-09 09:29:46.085415923 +0000 +diff -up patch-2.7.6/src/util.h.selinux patch-2.7.6/src/util.h +--- patch-2.7.6/src/util.h.selinux 2018-02-03 12:41:49.000000000 +0000 ++++ patch-2.7.6/src/util.h 2018-02-12 12:30:08.533190949 +0000 @@ -44,7 +44,7 @@ char *parse_name (char const *, int, cha char *savebuf (char const *, size_t); char *savestr (char const *); @@ -311,7 +311,7 @@ diff -up patch-2.7.5/src/util.h.selinux patch-2.7.5/src/util.h bool has_queued_output (struct stat const *); -int stat_file (char const *, struct stat *); +int stat_file (char const *, struct stat *, security_context_t *); - bool filename_is_safe (char const *); + bool filename_is_safe (char const *) _GL_ATTRIBUTE_PURE; bool cwd_is_root (char const *); @@ -75,7 +75,8 @@ enum file_attributes { diff --git a/patch.spec b/patch.spec index b9c4a82..aed1dd9 100644 --- a/patch.spec +++ b/patch.spec @@ -1,7 +1,7 @@ Summary: Utility for modifying/upgrading files Name: patch -Version: 2.7.5 -Release: 7%{?dist} +Version: 2.7.6 +Release: 1%{?dist} License: GPLv3+ URL: http://www.gnu.org/software/patch/patch.html Group: Development/Tools @@ -55,6 +55,9 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/*/* %changelog +* Mon Feb 12 2018 Tim Waugh - 2.7.6-1 +- 2.7.6. + * Thu Feb 08 2018 Fedora Release Engineering - 2.7.5-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild diff --git a/sources b/sources index cd14bab..d8fdccc 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -abc59498fcdddd44e0d07764aa105fd2 patch-2.7.4.tar.xz -e3da7940431633fb65a01b91d3b7a27a patch-2.7.5.tar.xz +SHA512 (patch-2.7.6.tar.xz) = fcca87bdb67a88685a8a25597f9e015f5e60197b9a269fa350ae35a7991ed8da553939b4bbc7f7d3cfd863c67142af403b04165633acbce4339056a905e87fbd