summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2016-12-06 04:06:13 +0000
committerMike Frysinger <vapier@gentoo.org>2016-12-06 04:06:13 +0000
commit489d9256611e62e3d6f89cbd180b25401c130250 (patch)
tree44cf659ac5fc085a2af0b59e0f5ffc07d57e6e03
parentadd patch for bug #432144 to tl-core patchset (diff)
downloadgentoo-489d9256611e62e3d6f89cbd180b25401c130250.tar.gz
gentoo-489d9256611e62e3d6f89cbd180b25401c130250.tar.bz2
gentoo-489d9256611e62e3d6f89cbd180b25401c130250.zip
initial 8.26 patchset based on last 8.25 patchset
-rw-r--r--src/patchsets/coreutils/8.26/003_all_coreutils-gentoo-uname.patch176
-rw-r--r--src/patchsets/coreutils/8.26/010_all_coreutils-tests.patch40
-rw-r--r--src/patchsets/coreutils/8.26/020_all_sysmacros.patch40
-rw-r--r--src/patchsets/coreutils/8.26/030_all_coreutils-more-dir-colors.patch43
-rw-r--r--src/patchsets/coreutils/8.26/040_all_coreutils-cp-mkdir-eexist.patch52
-rw-r--r--src/patchsets/coreutils/8.26/051_all_coreutils-mangen.patch123
-rw-r--r--src/patchsets/coreutils/8.26/README.history7
7 files changed, 481 insertions, 0 deletions
diff --git a/src/patchsets/coreutils/8.26/003_all_coreutils-gentoo-uname.patch b/src/patchsets/coreutils/8.26/003_all_coreutils-gentoo-uname.patch
new file mode 100644
index 0000000000..7563b5735d
--- /dev/null
+++ b/src/patchsets/coreutils/8.26/003_all_coreutils-gentoo-uname.patch
@@ -0,0 +1,176 @@
+On linux platforms, grok /proc/cpuinfo for the CPU/vendor info.
+
+Prob not suitable for upstream seeing as how it's 100% linux-specific
+http://lists.gnu.org/archive/html/bug-coreutils/2005-09/msg00063.html
+
+Patch originally by Carlos E. Gorges <carlos@techlinux.com.br>, but
+heavily reworked to suck less.
+
+To add support for additional platforms, check out the show_cpuinfo()
+func in the linux/arch/<ARCH>/ source tree of the kernel.
+
+--- coreutils/src/uname.c
++++ coreutils/src/uname.c
+@@ -50,6 +50,12 @@
+ # include <mach-o/arch.h>
+ #endif
+
++#if defined (__linux__)
++# define USE_PROCINFO
++# define UNAME_HARDWARE_PLATFORM
++#endif
++
++#include "ignore-value.h"
+ #include "system.h"
+ #include "error.h"
+ #include "quote.h"
+@@ -138,6 +144,119 @@
+ exit (status);
+ }
+
++#if defined (USE_PROCINFO)
++
++# if defined (__s390__) || defined (__s390x__)
++# define CPUINFO_FILE "/proc/sysinfo"
++# define CPUINFO_FORMAT "%64[^\t :]%*[ :]%256[^\n]%c"
++# else
++# define CPUINFO_FILE "/proc/cpuinfo"
++# define CPUINFO_FORMAT "%64[^\t:]\t:%256[^\n]%c"
++# endif
++
++# define PROCINFO_PROCESSOR 0
++# define PROCINFO_HARDWARE_PLATFORM 1
++
++static void __eat_cpuinfo_space (char *buf)
++{
++ /* First eat trailing space. */
++ char *tmp = buf + strlen (buf) - 1;
++ while (tmp > buf && isspace (*tmp))
++ *tmp-- = '\0';
++ /* Then eat leading space. */
++ tmp = buf;
++ while (*tmp && isspace (*tmp))
++ tmp++;
++ if (tmp != buf)
++ memmove (buf, tmp, strlen (tmp) + 1);
++ /* Finally collapse whitespace. */
++ tmp = buf;
++ while (tmp[0] && tmp[1]) {
++ if (isspace (tmp[0]) && isspace (tmp[1])) {
++ memmove (tmp, tmp + 1, strlen (tmp));
++ continue;
++ }
++ ++tmp;
++ }
++}
++
++static int __linux_procinfo (int x, char *fstr, size_t s)
++{
++ FILE *fp;
++
++ const char * const procinfo_keys[] = {
++ /* --processor --hardware-platform */
++ #if defined (__alpha__)
++ "cpu model", "system type"
++ #elif defined (__arm__)
++ /* linux-3.8+ uses "model name", but older uses "Processor". */
++ "model name", "Hardware"
++ #elif defined (__avr32__)
++ "processor", "cpu family"
++ #elif defined (__bfin__)
++ "CPU", "BOARD Name"
++ #elif defined (__cris__)
++ "cpu", "cpu model"
++ #elif defined (__frv__)
++ "CPU-Core", "System"
++ #elif defined (__i386__) || defined (__x86_64__)
++ "model name", "vendor_id"
++ #elif defined (__ia64__)
++ "model name", "vendor"
++ #elif defined (__hppa__)
++ "cpu", "model"
++ #elif defined (__m68k__)
++ "CPU", "MMU"
++ #elif defined (__microblaze__)
++ "CPU-Ver", "FPGA-Arch"
++ #elif defined (__mips__)
++ "cpu model", "system type"
++ #elif defined (__powerpc__) || defined (__powerpc64__)
++ "cpu", "machine"
++ #elif defined (__s390__) || defined (__s390x__)
++ "Type", "Manufacturer"
++ #elif defined (__sh__)
++ "cpu type", "machine"
++ #elif defined (sparc) || defined (__sparc__)
++ "type", "cpu"
++ #elif defined (__vax__)
++ "cpu type", "cpu"
++ #else
++ "unknown", "unknown"
++ #endif
++ };
++
++ if ((fp = fopen (CPUINFO_FILE, "r")) != NULL) {
++ char key[65], value[257], eol, *ret = NULL;
++
++ while (fscanf (fp, CPUINFO_FORMAT, key, value, &eol) != EOF) {
++ __eat_cpuinfo_space (key);
++ if (!strcmp (key, procinfo_keys[x])) {
++ __eat_cpuinfo_space (value);
++ ret = value;
++ break;
++ }
++ if (eol != '\n') {
++ /* We need two fscanf's here in case the previous length limit
++ * caused us to read right up to the newline. Doing something
++ * like "%*[^\n]\n" won't eat the newline. */
++ ignore_value (fscanf (fp, "%*[^\n]"));
++ ignore_value (fscanf (fp, "\n"));
++ }
++ }
++ fclose (fp);
++
++ if (ret) {
++ strncpy (fstr, ret, s);
++ return 0;
++ }
++ }
++
++ return -1;
++}
++
++#endif
++
+ /* Print ELEMENT, preceded by a space if something has already been
+ printed. */
+
+@@ -250,10 +369,14 @@ main (int argc, char **argv)
+ if (toprint & PRINT_PROCESSOR)
+ {
+ char const *element = unknown;
+-#if HAVE_SYSINFO && defined SI_ARCHITECTURE
++#if (HAVE_SYSINFO && defined SI_ARCHITECTURE) || defined (USE_PROCINFO)
+ {
+ static char processor[257];
++#if defined (USE_PROCINFO)
++ if (0 <= __linux_procinfo (PROCINFO_PROCESSOR, processor, sizeof processor))
++#else
+ if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor))
++#endif
+ element = processor;
+ }
+ #endif
+@@ -306,9 +429,13 @@ main (int argc, char **argv)
+ if (element == unknown)
+ {
+ static char hardware_platform[257];
++#if defined (USE_PROCINFO)
++ if (0 <= __linux_procinfo (PROCINFO_HARDWARE_PLATFORM, hardware_platform, sizeof hardware_platform))
++#else
+ size_t s = sizeof hardware_platform;
+ static int mib[] = { CTL_HW, UNAME_HARDWARE_PLATFORM };
+ if (sysctl (mib, 2, hardware_platform, &s, 0, 0) >= 0)
++#endif
+ element = hardware_platform;
+ }
+ #endif
diff --git a/src/patchsets/coreutils/8.26/010_all_coreutils-tests.patch b/src/patchsets/coreutils/8.26/010_all_coreutils-tests.patch
new file mode 100644
index 0000000000..fe7538a8ce
--- /dev/null
+++ b/src/patchsets/coreutils/8.26/010_all_coreutils-tests.patch
@@ -0,0 +1,40 @@
+this test only gets run as non-root, so giving it temp write access to the
+root dir is safe since normal unix access will deny it #259876
+--- a/tests/touch/not-owner.sh
++++ b/tests/touch/not-owner.sh
+@@ -34,6 +34,7 @@
+ # Before fileutils-4.1, we'd get the following misleading
+ # diagnostic instead of '...: Permission denied'.
+ # touch: creating '/': Is a directory
++env SANDBOX_WRITE=${SANDBOX_WRITE}:/ \
+ touch / > out 2>&1 && fail=1
+
+ # On SunOS4, EPERM is 'Not owner'.
+
+the dd test looks up a device and tries to test seeking on it. it shouldnt
+cause any corruption because it uses a count of 0 and seeks past the end of
+the device
+--- a/tests/dd/skip-seek-past-dev.sh
++++ b/tests/dd/skip-seek-past-dev.sh
+@@ -48,6 +48,7 @@
+ 0+0 records out" > err_ok || framework_failure_
+ compare err_ok err || fail=1
+
++env SANDBOX_WRITE=${SANDBOX_WRITE}:$device \
+ timeout 10 dd bs=1 seek=$DEV_OFLOW count=0 status=noxfer > "$device" 2> err
+ test "$?" = "1" || fail=1
+ echo "dd: 'standard output': cannot seek: Invalid argument
+
+running through strace and counting stat syscalls is off when using sandbox
+https://bugs.gentoo.org/415487
+--- a/tests/ls/stat-free-color.sh
++++ b/tests/ls/stat-free-color.sh
+@@ -19,6 +19,8 @@
+ . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
+ print_ver_ ls
+
++skip_ 'strace does not work under sandbox #415487'
++
+ # Note this list of _file name_ stat functions must be
+ # as cross platform as possible and so doesn't include
+ # fstatat64 as that's not available on aarch64 for example.
diff --git a/src/patchsets/coreutils/8.26/020_all_sysmacros.patch b/src/patchsets/coreutils/8.26/020_all_sysmacros.patch
new file mode 100644
index 0000000000..2eb98136c2
--- /dev/null
+++ b/src/patchsets/coreutils/8.26/020_all_sysmacros.patch
@@ -0,0 +1,40 @@
+patch sent to upstream gnulib
+
+https://bugs.gentoo.org/580014
+
+From 45eae8fd19089c4ba2b66c063fe127ee131f0b00 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sat, 16 Apr 2016 01:59:07 -0400
+Subject: [PATCH] mountlist/ptsname_r: leverage AC_HEADER_MAJOR
+
+These two modules use makedev/major/minor but don't have explicit
+checks for the functions. Use the existing autoconf macro which
+will probe some headers for use and set up some defines.
+
+* lib/mountlist.c [MAJOR_IN_MKDEV]: Include sys/mkdev.h.
+[MAJOR_IN_SYSMACROS]: Include sys/sysmacros.h.
+* lib/ptsname_r.c: Likewise.
+[__sun]: Delete sys/sysmacros.h include.
+[_AIX || __osf__]: Likewise.
+* m4/mountlist.m4 (gl_MOUNTLIST): Require AC_HEADER_MAJOR.
+* m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Likewise.
+---
+ lib/mountlist.c | 7 +++++++
+ lib/ptsname_r.c | 12 ++++++++----
+ m4/mountlist.m4 | 1 +
+ m4/ptsname_r.m4 | 2 ++
+ 4 files changed, 18 insertions(+), 4 deletions(-)
+
+--- a/lib/mountlist.c
++++ b/lib/mountlist.c
+@@ -37,6 +37,10 @@
+ # include <sys/param.h>
+ #endif
+
++#ifdef __linux__
++# include <sys/sysmacros.h>
++#endif
++
+ #if defined MOUNTED_GETFSSTAT /* OSF_1 and Darwin1.3.x */
+ # if HAVE_SYS_UCRED_H
+ # include <grp.h> /* needed on OSF V4.0 for definition of NGROUPS,
diff --git a/src/patchsets/coreutils/8.26/030_all_coreutils-more-dir-colors.patch b/src/patchsets/coreutils/8.26/030_all_coreutils-more-dir-colors.patch
new file mode 100644
index 0000000000..30a429c19d
--- /dev/null
+++ b/src/patchsets/coreutils/8.26/030_all_coreutils-more-dir-colors.patch
@@ -0,0 +1,43 @@
+--- coreutils-8.24/src/dircolors.hin
++++ coreutils-8.24/src/dircolors.hin
+@@ -7,6 +7,9 @@
+
+ # The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the
+ # slackware version of dircolors) are recognized but ignored.
++
++# You can copy this file to .dir_colors in your $HOME directory to override
++# the system defaults.
+
+ # Below, there should be one TERM entry for each termtype that is colorizable
+ TERM Eterm
+@@ -86,8 +89,8 @@
+ DOOR 01;35 # door
+ BLK 40;33;01 # block device driver
+ CHR 40;33;01 # character device driver
+-ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file ...
+-MISSING 00 # ... and the files they point to
++ORPHAN 01;05;37;41 # symlink to nonexistent file, or non-stat'able file ...
++MISSING 01;05;37;41 # ... and the files they point to
+ SETUID 37;41 # file that is setuid (u+s)
+ SETGID 30;43 # file that is setgid (g+s)
+ CAPABILITY 30;41 # file with capability
+@@ -207,6 +210,19 @@
+ .ogv 01;35
+ .ogx 01;35
+
++# Text/document files
++.cfg 00;32
++.conf 00;32
++.diff 00;32
++.doc 00;32
++.ini 00;32
++.log 00;32
++.patch 00;32
++.pdf 00;32
++.ps 00;32
++.tex 00;32
++.txt 00;32
++
+ # audio formats
+ .aac 00;36
+ .au 00;36
diff --git a/src/patchsets/coreutils/8.26/040_all_coreutils-cp-mkdir-eexist.patch b/src/patchsets/coreutils/8.26/040_all_coreutils-cp-mkdir-eexist.patch
new file mode 100644
index 0000000000..8bc02369ac
--- /dev/null
+++ b/src/patchsets/coreutils/8.26/040_all_coreutils-cp-mkdir-eexist.patch
@@ -0,0 +1,52 @@
+https://bugs.gentoo.org/449838
+http://lists.gnu.org/archive/html/bug-coreutils/2013-01/msg00002.html
+
+From 597db089bfa64656540206b3826e0a97759f6720 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Thu, 3 Jan 2013 18:31:37 -0500
+Subject: [PATCH] cp: ignore EEXIST errors from mkdir
+
+If you're copying multiple source trees into a single destination in
+parallel (which have overlapping dirs, but not files), you can easily
+hit a race condition.
+
+This can crop up more generally if you're running multiple installs
+from different build directories in parallel. You don't get as much
+of a speed up due to the parallel I/O, but you do from processing all
+the build scripts.
+
+Simple test to reproduce:
+ mkdir -p in/`printf %s/ {a..z} {0..10}`
+ (rm -rf out; for ((i=0;i<100;++i)); do cp -pPR in out & :; done)
+
+* src/cp.c (make_dir_parents_private): Ignore EEXIST from mkdir.
+---
+ src/cp.c | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/src/cp.c b/src/cp.c
+index 625ea0b..b9dff18 100644
+--- a/src/cp.c
++++ b/src/cp.c
+@@ -473,9 +473,15 @@ make_dir_parents_private (char const *const_dir, size_t src_offset,
+ mkdir_mode = src_mode & CHMOD_MODE_BITS & ~omitted_permissions;
+ if (mkdir (dir, mkdir_mode) != 0)
+ {
+- error (0, errno, _("cannot make directory %s"),
+- quoteaf (dir));
+- return false;
++ /* If someone else created it between our stat/mkdir,
++ don't complain. It's debatable whether we should
++ also preserve the mode bits in this scenario. */
++ if (errno != EEXIST)
++ {
++ error (0, errno, _("cannot make directory %s"),
++ quoteaf (dir));
++ return false;
++ }
+ }
+ else
+ {
+--
+1.8.0.2
+
diff --git a/src/patchsets/coreutils/8.26/051_all_coreutils-mangen.patch b/src/patchsets/coreutils/8.26/051_all_coreutils-mangen.patch
new file mode 100644
index 0000000000..094e241f78
--- /dev/null
+++ b/src/patchsets/coreutils/8.26/051_all_coreutils-mangen.patch
@@ -0,0 +1,123 @@
+avoid regenerating man pages all the time (since the locally compiled binaries
+will always be newer than the bundled man pages)
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -14510,117 +14510,6 @@
+ distclean-local:
+ test x$(srcdir) = x$(builddir) || rm -f $(ALL_MANS)
+
+-$(ALL_MANS): $(mandeps)
+-# Most prog.1 man pages depend on src/prog. List the exceptions:
+-@SINGLE_BINARY_FALSE@man/install.1: src/ginstall$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/test.1: src/[$(EXEEXT)
+-
+-@SINGLE_BINARY_FALSE@man/arch.1: src/arch$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/b2sum.1: src/b2sum$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/base32.1: src/base32$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/base64.1: src/base64$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/basename.1: src/basename$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/cat.1: src/cat$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/chcon.1: src/chcon$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/chgrp.1: src/chgrp$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/chmod.1: src/chmod$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/chown.1: src/chown$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/chroot.1: src/chroot$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/cksum.1: src/cksum$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/comm.1: src/comm$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/coreutils.1: src/coreutils$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/cp.1: src/cp$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/csplit.1: src/csplit$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/cut.1: src/cut$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/date.1: src/date$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/dd.1: src/dd$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/df.1: src/df$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/dir.1: src/dir$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/dircolors.1: src/dircolors$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/dirname.1: src/dirname$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/du.1: src/du$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/echo.1: src/echo$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/env.1: src/env$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/expand.1: src/expand$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/expr.1: src/expr$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/factor.1: src/factor$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/false.1: src/false$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/fmt.1: src/fmt$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/fold.1: src/fold$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/groups.1: src/groups$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/head.1: src/head$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/hostid.1: src/hostid$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/hostname.1: src/hostname$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/id.1: src/id$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/join.1: src/join$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/kill.1: src/kill$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/link.1: src/link$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/ln.1: src/ln$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/logname.1: src/logname$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/ls.1: src/ls$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/md5sum.1: src/md5sum$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/mkdir.1: src/mkdir$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/mkfifo.1: src/mkfifo$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/mknod.1: src/mknod$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/mktemp.1: src/mktemp$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/mv.1: src/mv$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/nice.1: src/nice$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/nl.1: src/nl$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/nohup.1: src/nohup$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/nproc.1: src/nproc$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/numfmt.1: src/numfmt$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/od.1: src/od$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/paste.1: src/paste$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/pathchk.1: src/pathchk$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/pinky.1: src/pinky$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/pr.1: src/pr$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/printenv.1: src/printenv$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/printf.1: src/printf$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/ptx.1: src/ptx$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/pwd.1: src/pwd$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/readlink.1: src/readlink$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/realpath.1: src/realpath$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/rm.1: src/rm$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/rmdir.1: src/rmdir$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/runcon.1: src/runcon$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/seq.1: src/seq$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/sha1sum.1: src/sha1sum$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/sha224sum.1: src/sha224sum$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/sha256sum.1: src/sha256sum$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/sha384sum.1: src/sha384sum$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/sha512sum.1: src/sha512sum$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/shred.1: src/shred$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/shuf.1: src/shuf$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/sleep.1: src/sleep$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/sort.1: src/sort$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/split.1: src/split$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/stat.1: src/stat$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/stdbuf.1: src/stdbuf$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/stty.1: src/stty$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/sum.1: src/sum$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/sync.1: src/sync$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/tac.1: src/tac$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/tail.1: src/tail$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/tee.1: src/tee$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/timeout.1: src/timeout$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/touch.1: src/touch$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/tr.1: src/tr$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/true.1: src/true$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/truncate.1: src/truncate$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/tsort.1: src/tsort$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/tty.1: src/tty$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/uname.1: src/uname$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/unexpand.1: src/unexpand$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/uniq.1: src/uniq$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/unlink.1: src/unlink$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/uptime.1: src/uptime$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/users.1: src/users$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/vdir.1: src/vdir$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/wc.1: src/wc$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/who.1: src/who$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/whoami.1: src/whoami$(EXEEXT)
+-@SINGLE_BINARY_FALSE@man/yes.1: src/yes$(EXEEXT)
+-
+ .x.1:
+ $(AM_V_GEN)name=`echo $@ | sed 's|.*/||; s|\.1$$||'` || exit 1; \
+ case $$name in \
diff --git a/src/patchsets/coreutils/8.26/README.history b/src/patchsets/coreutils/8.26/README.history
new file mode 100644
index 0000000000..cc134bed41
--- /dev/null
+++ b/src/patchsets/coreutils/8.26/README.history
@@ -0,0 +1,7 @@
+1.0 30 Nov 2016
+ + 003_all_coreutils-gentoo-uname.patch
+ + 010_all_coreutils-tests.patch
+ + 020_all_sysmacros.patch
+ + 030_all_coreutils-more-dir-colors.patch
+ + 040_all_coreutils-cp-mkdir-eexist.patch
+ + 051_all_coreutils-mangen.patch