coreutils: Update to 8.24

This commit is contained in:
Alexey Pavlov
2015-08-28 23:05:07 +03:00
parent df57b45479
commit d9773f0a8c
5 changed files with 193 additions and 1411 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,25 @@
--- origsrc/coreutils-8.23/ChangeLog 2014-07-18 15:22:24.000000000 -0700
+++ src/coreutils-8.23/ChangeLog 2014-09-24 21:16:37.340745500 -0700
@@ -1,3 +1,214 @@
--- origsrc/coreutils-8.24/ChangeLog 2015-07-03 15:23:13.000000000 -0600
+++ src/coreutils-8.24/ChangeLog 2015-08-26 17:59:44.745654800 -0600
@@ -1,3 +1,230 @@
+2015-08-26 Eric Blake <eblake@redhat.com>
+
+ Cygwin release 8.24-3.
+ * lib/cygwin.c (cygwin_spelling): Fix uninitialized variable that
+ broke 'cp -r' depending on stack contents.
+
+2015-08-26 Eric Blake <eblake@redhat.com>
+
+ Cygwin release 8.24-2.
+ Enable stdbuf (requires hacks to Makefile.in).
+
+
+2015-08-25 Eric Blake <eblake@redhat.com>
+
+ Cygwin release 8.24-1.
+
+2014-09-24 Eric Blake <eblake@redhat.com>
+
+ Cygwin release 8.23-3
+ Cygwin release 8.23-3.
+ * lib/cygwin.c (cygwin_spelling): Skip .exe magic if .exe is
+ already present. Also honor .exe magic on symlinks.
+ * lib/same.c (same_name): Treat files as same if only difference
@@ -212,23 +228,33 @@
+ * src/install.c (strip): Check for .exe here since strip doesn't.
+
+
2014-07-18 Pádraig Brady <P@draigBrady.com>
2015-07-03 Pádraig Brady <P@draigBrady.com>
version 8.23
--- origsrc/coreutils-8.23/configure.ac 2014-07-17 18:40:57.000000000 -0700
+++ src/coreutils-8.23/configure.ac 2014-09-24 21:16:24.782496600 -0700
@@ -473,7 +473,7 @@ AC_COMPILE_IFELSE(
[stdbuf_supported=yes],
[stdbuf_supported=no])
version 8.24
--- origsrc/coreutils-8.24/configure.ac 2015-06-26 11:05:22.000000000 -0600
+++ src/coreutils-8.24/configure.ac 2015-08-26 17:59:36.443068800 -0600
@@ -462,7 +462,8 @@ gl_WARN_ADD([-Werror], [CFLAGS])
gl_WARN_ADD([-errwarn], [CFLAGS])
# Put this message here, after gl_WARN_ADD's chatter.
AC_MSG_CHECKING([whether this system supports stdbuf])
-CFLAGS="-fPIC $CFLAGS"
+# -fPIC on cygwin is a warning
+# CFLAGS="-fPIC $CFLAGS"
LDFLAGS="-shared $LDFLAGS"
stdbuf_supported=no
# Note we only LINK here rather than RUN to support cross compilation
@@ -479,7 +480,7 @@ AC_LINK_IFELSE(
],
[stdbuf_supported=yes])
AC_MSG_RESULT([$stdbuf_supported])
-if test "$stdbuf_supported" = "yes"; then
+if test "$stdbuf_supported" = "yes" && test -z "$EXEEXT"; then
-if test "$stdbuf_supported" = "yes" && test -z "$EXEEXT"; then
+if test "$stdbuf_supported" = "yes"; then
gl_ADD_PROG([optional_bin_progs], [stdbuf])
fi
--- origsrc/coreutils-8.23/doc/coreutils.texi 2014-07-13 15:09:52.000000000 -0700
+++ src/coreutils-8.23/doc/coreutils.texi 2014-09-24 21:16:24.782496600 -0700
@@ -7838,6 +7838,14 @@ These options change how file names them
CFLAGS=$ac_save_CFLAGS
--- origsrc/coreutils-8.24/doc/coreutils.texi 2015-06-26 11:05:22.000000000 -0600
+++ src/coreutils-8.24/doc/coreutils.texi 2015-08-26 17:59:36.443068800 -0600
@@ -7569,6 +7569,14 @@ These options change how file names them
@table @samp
@@ -243,7 +269,7 @@
@item -b
@itemx --escape
@itemx --quoting-style=escape
@@ -11799,6 +11807,14 @@ With this option, @command{stat} acts on
@@ -11567,6 +11575,14 @@ With this option, @command{stat} acts on
by each symbolic link argument.
Without it, @command{stat} acts on any symbolic link argument directly.
@@ -258,9 +284,9 @@
@item -f
@itemx --file-system
@opindex -f
--- origsrc/coreutils-8.23/lib/cygwin.c 1969-12-31 16:00:00.000000000 -0800
+++ src/coreutils-8.23/lib/cygwin.c 2014-09-24 21:16:24.798109100 -0700
@@ -0,0 +1,67 @@
--- origsrc/coreutils-8.24/lib/cygwin.c 1969-12-31 17:00:00.000000000 -0700
+++ src/coreutils-8.24/lib/cygwin.c 2015-08-26 17:59:36.443068800 -0600
@@ -0,0 +1,73 @@
+/* cygwin.c - helper functions unique to Cygwin
+
+ Copyright (C) 2005, 2006, 2008, 2011 Free Software Foundation, Inc.
@@ -301,24 +327,30 @@
+{
+ int saved_errno = errno;
+ int result = 0; /* Start with assumption that PATH is okay. */
+ int len;
+ size_t len;
+ struct stat st1;
+ struct stat st2;
+ char *path_exe;
+
+ if (! path || ! *path || len > PATH_MAX)
+ /* PATH will cause EINVAL or ENAMETOOLONG, treat it as non-existing. */
+ /* If PATH will cause EINVAL or ENAMETOOLONG, treat it as missing. */
+ if (! path || ! *path)
+ return -1;
+ len = strlen (path);
+ if (PATH_MAX < (len = strlen (path)))
+ return -1;
+ /* Don't change spelling if there is a trailing `/' or '.exe'. */
+ if (path[len - 1] == '/'
+ || (len > 4 && !strcasecmp (&path[len - 4], ".exe")))
+ /* Don't change spelling if there is a trailing `/' or '.exe'. */
+ return 0;
+ if (lstat (path, &st1) < 0 || S_ISDIR(st1.st_mode))
+ if (lstat (path, &st1) < 0)
+ {
+ errno = saved_errno;
+ return -1;
+ }
+ if (S_ISDIR(st1.st_mode))
+ {
+ errno = saved_errno;
+ return 0;
+ }
+ path_exe = malloca (len + 5); /* adding ".exe" and NUL. */
+ strcat (stpcpy (path_exe, path), ".exe");
+ if (lstat (path_exe, &st2) == 0 && st1.st_ino == st2.st_ino)
@@ -328,8 +360,8 @@
+ errno = saved_errno;
+ return result;
+}
--- origsrc/coreutils-8.23/lib/cygwin.h 1969-12-31 16:00:00.000000000 -0800
+++ src/coreutils-8.23/lib/cygwin.h 2014-09-24 21:16:24.798109100 -0700
--- origsrc/coreutils-8.24/lib/cygwin.h 1969-12-31 17:00:00.000000000 -0700
+++ src/coreutils-8.24/lib/cygwin.h 2015-08-26 17:59:36.458650200 -0600
@@ -0,0 +1,38 @@
+/* cygwin.h - helper functions unique to Cygwin
+
@@ -369,8 +401,8 @@
+ __name_orig), ".exe")
+
+#endif /* CYGWIN_H */
--- origsrc/coreutils-8.23/lib/hash-pjw.c 2014-05-29 05:05:50.000000000 -0700
+++ src/coreutils-8.23/lib/hash-pjw.c 2014-09-24 21:16:24.798109100 -0700
--- origsrc/coreutils-8.24/lib/hash-pjw.c 2015-06-15 23:00:37.000000000 -0600
+++ src/coreutils-8.24/lib/hash-pjw.c 2015-08-26 17:59:36.458650200 -0600
@@ -19,6 +19,7 @@
#include "hash-pjw.h"
@@ -396,15 +428,15 @@
+
+ return h % tablesize;
+}
--- origsrc/coreutils-8.23/lib/hash-pjw.h 2014-05-29 05:05:50.000000000 -0700
+++ src/coreutils-8.23/lib/hash-pjw.h 2014-09-24 21:16:24.798109100 -0700
--- origsrc/coreutils-8.24/lib/hash-pjw.h 2015-06-15 23:00:37.000000000 -0600
+++ src/coreutils-8.24/lib/hash-pjw.h 2015-08-26 17:59:36.458650200 -0600
@@ -21,3 +21,4 @@
The result is platform dependent: it depends on the size of the 'size_t'
type and on the signedness of the 'char' type. */
extern size_t hash_pjw (void const *x, size_t tablesize) _GL_ATTRIBUTE_PURE;
+extern size_t hash_pjw_case (void const *x, size_t tablesize) _GL_ATTRIBUTE_PURE;
--- origsrc/coreutils-8.23/lib/hash-triple.c 2014-05-29 05:05:50.000000000 -0700
+++ src/coreutils-8.23/lib/hash-triple.c 2014-09-24 21:16:24.798109100 -0700
--- origsrc/coreutils-8.24/lib/hash-triple.c 2015-06-15 23:00:37.000000000 -0600
+++ src/coreutils-8.24/lib/hash-triple.c 2015-08-26 17:59:36.458650200 -0600
@@ -34,7 +34,13 @@ size_t
triple_hash (void const *x, size_t table_size)
{
@@ -419,8 +451,8 @@
/* Ignoring the device number here should be fine. */
return (tmp ^ p->st_ino) % table_size;
--- origsrc/coreutils-8.23/lib/local.mk 2013-12-04 06:48:30.000000000 -0800
+++ src/coreutils-8.23/lib/local.mk 2014-09-24 21:16:24.798109100 -0700
--- origsrc/coreutils-8.24/lib/local.mk 2012-11-13 06:51:53.000000000 -0700
+++ src/coreutils-8.24/lib/local.mk 2015-08-26 17:59:36.458650200 -0600
@@ -3,3 +3,6 @@ include lib/gnulib.mk
# Allow "make distdir" to succeed before "make all" has run.
dist-hook: $(noinst_LIBRARIES)
@@ -428,8 +460,8 @@
+
+# Hook in cygwin helper
+lib_libcoreutils_a_SOURCES += lib/cygwin.c lib/cygwin.h
--- origsrc/coreutils-8.23/lib/root-dev-ino.c 2014-07-11 04:00:07.000000000 -0700
+++ src/coreutils-8.23/lib/root-dev-ino.c 2014-09-24 21:16:24.798109100 -0700
--- origsrc/coreutils-8.24/lib/root-dev-ino.c 2015-06-26 11:04:19.000000000 -0600
+++ src/coreutils-8.24/lib/root-dev-ino.c 2015-08-26 17:59:36.458650200 -0600
@@ -25,13 +25,17 @@
/* Call lstat to get the device and inode numbers for '/'.
Upon failure, return NULL. Otherwise, set the members of
@@ -452,8 +484,8 @@
+ root_d_i->double_slash.st_dev = statbuf.st_dev;
return root_d_i;
}
--- origsrc/coreutils-8.23/lib/root-dev-ino.h 2014-07-11 04:00:07.000000000 -0700
+++ src/coreutils-8.23/lib/root-dev-ino.h 2014-09-24 21:16:24.798109100 -0700
--- origsrc/coreutils-8.24/lib/root-dev-ino.h 2015-06-26 11:04:19.000000000 -0600
+++ src/coreutils-8.24/lib/root-dev-ino.h 2015-08-26 17:59:36.458650200 -0600
@@ -21,19 +21,26 @@
# include "dev-ino.h"
# include "same-inode.h"
@@ -485,8 +517,8 @@
error (0, 0, _("it is dangerous to operate recursively on %s"), \
quote (Dirname)); \
else \
--- origsrc/coreutils-8.23/lib/same.c 2014-05-29 05:05:50.000000000 -0700
+++ src/coreutils-8.23/lib/same.c 2014-09-24 21:16:24.798109100 -0700
--- origsrc/coreutils-8.24/lib/same.c 2015-06-15 23:00:37.000000000 -0600
+++ src/coreutils-8.24/lib/same.c 2015-08-26 17:59:36.458650200 -0600
@@ -40,6 +40,13 @@
#include "error.h"
#include "same-inode.h"
@@ -547,8 +579,8 @@
bool same = false;
#if ! _POSIX_NO_TRUNC && HAVE_PATHCONF && defined _PC_NAME_MAX
--- origsrc/coreutils-8.23/lib/xfreopen.c 2014-05-29 05:05:50.000000000 -0700
+++ src/coreutils-8.23/lib/xfreopen.c 2014-09-24 21:16:24.798109100 -0700
--- origsrc/coreutils-8.24/lib/xfreopen.c 2015-06-15 23:00:37.000000000 -0600
+++ src/coreutils-8.24/lib/xfreopen.c 2015-08-26 17:59:36.458650200 -0600
@@ -18,6 +18,7 @@
#include "xfreopen.h"
@@ -575,8 +607,8 @@
if (!freopen (filename, mode, fp))
{
char const *f = (filename ? filename
--- origsrc/coreutils-8.23/src/chcon.c 2014-07-13 15:09:52.000000000 -0700
+++ src/coreutils-8.23/src/chcon.c 2014-09-24 21:16:24.798109100 -0700
--- origsrc/coreutils-8.24/src/chcon.c 2015-06-26 11:04:19.000000000 -0600
+++ src/coreutils-8.24/src/chcon.c 2015-08-26 17:59:36.458650200 -0600
@@ -48,7 +48,7 @@ static bool verbose;
/* Pointer to the device and inode numbers of '/', when --recursive.
@@ -595,8 +627,8 @@
root_dev_ino = get_root_dev_ino (&dev_ino_buf);
if (root_dev_ino == NULL)
error (EXIT_FAILURE, errno, _("failed to get attributes of %s"),
--- origsrc/coreutils-8.23/src/chgrp.c 2014-07-11 04:00:07.000000000 -0700
+++ src/coreutils-8.23/src/chgrp.c 2014-09-24 21:16:24.798109100 -0700
--- origsrc/coreutils-8.24/src/chgrp.c 2015-06-26 11:04:19.000000000 -0600
+++ src/coreutils-8.24/src/chgrp.c 2015-08-26 17:59:36.458650200 -0600
@@ -299,7 +299,7 @@ main (int argc, char **argv)
if (chopt.recurse && preserve_root)
@@ -606,8 +638,8 @@
chopt.root_dev_ino = get_root_dev_ino (&dev_ino_buf);
if (chopt.root_dev_ino == NULL)
error (EXIT_FAILURE, errno, _("failed to get attributes of %s"),
--- origsrc/coreutils-8.23/src/chmod.c 2014-07-11 04:00:07.000000000 -0700
+++ src/coreutils-8.23/src/chmod.c 2014-09-24 21:16:24.798109100 -0700
--- origsrc/coreutils-8.24/src/chmod.c 2015-06-26 11:04:19.000000000 -0600
+++ src/coreutils-8.24/src/chmod.c 2015-08-26 17:59:36.458650200 -0600
@@ -81,7 +81,7 @@ static enum Verbosity verbosity = V_off;
/* Pointer to the device and inode numbers of '/', when --recursive.
@@ -626,8 +658,8 @@
root_dev_ino = get_root_dev_ino (&dev_ino_buf);
if (root_dev_ino == NULL)
error (EXIT_FAILURE, errno, _("failed to get attributes of %s"),
--- origsrc/coreutils-8.23/src/chown-core.h 2014-07-11 04:00:07.000000000 -0700
+++ src/coreutils-8.23/src/chown-core.h 2014-09-24 21:16:24.813716600 -0700
--- origsrc/coreutils-8.24/src/chown-core.h 2015-06-26 11:04:19.000000000 -0600
+++ src/coreutils-8.24/src/chown-core.h 2015-08-26 17:59:36.458650200 -0600
@@ -50,7 +50,7 @@ struct Chown_option
/* Pointer to the device and inode numbers of '/', when --recursive.
@@ -637,8 +669,8 @@
/* This corresponds to the --dereference (opposite of -h) option. */
bool affect_symlink_referent;
--- origsrc/coreutils-8.23/src/chown.c 2014-07-11 04:00:07.000000000 -0700
+++ src/coreutils-8.23/src/chown.c 2014-09-24 21:16:24.813716600 -0700
--- origsrc/coreutils-8.24/src/chown.c 2015-06-26 11:04:19.000000000 -0600
+++ src/coreutils-8.24/src/chown.c 2015-08-26 17:59:36.458650200 -0600
@@ -312,7 +312,7 @@ main (int argc, char **argv)
if (chopt.recurse && preserve_root)
@@ -648,28 +680,20 @@
chopt.root_dev_ino = get_root_dev_ino (&dev_ino_buf);
if (chopt.root_dev_ino == NULL)
error (EXIT_FAILURE, errno, _("failed to get attributes of %s"),
--- origsrc/coreutils-8.23/src/chroot.c 2014-07-13 16:59:20.000000000 -0700
+++ src/coreutils-8.23/src/chroot.c 2014-09-24 21:16:24.813716600 -0700
@@ -163,7 +163,7 @@ parse_additional_groups (char const *gro
static bool
--- origsrc/coreutils-8.24/src/chroot.c 2015-06-26 12:15:58.000000000 -0600
+++ src/coreutils-8.24/src/chroot.c 2015-08-26 17:59:36.474268300 -0600
@@ -170,7 +170,8 @@ static bool
is_root (const char* dir)
{
- struct dev_ino root_ino;
+ struct root_dev_ino root_ino;
if (! get_root_dev_ino (&root_ino))
error (EXIT_CANCELED, errno, _("failed to get attributes of %s"),
quote ("/"));
@@ -173,7 +173,7 @@ is_root (const char* dir)
error (EXIT_CANCELED, errno, _("failed to get attributes of %s"),
quote (dir));
- return SAME_INODE (root_ino, arg_st);
+ return ROOT_DEV_INO_CHECK (&root_ino, &arg_st);
char *resolved = canonicalize_file_name (dir);
- bool is_res_root = resolved && STREQ ("/", resolved);
+ bool is_res_root = resolved && (STREQ ("/", resolved)
+ || STREQ ("//", resolved));
free (resolved);
return is_res_root;
}
void
--- origsrc/coreutils-8.23/src/cksum.c 2014-07-11 04:00:07.000000000 -0700
+++ src/coreutils-8.23/src/cksum.c 2014-09-24 21:16:24.813716600 -0700
--- origsrc/coreutils-8.24/src/cksum.c 2015-06-26 11:04:19.000000000 -0600
+++ src/coreutils-8.24/src/cksum.c 2015-08-26 17:59:36.474268300 -0600
@@ -301,6 +301,9 @@ main (int argc, char **argv)
have_read_stdin = false;
@@ -680,10 +704,10 @@
if (optind == argc)
ok = cksum ("-", false);
else
--- origsrc/coreutils-8.23/src/copy.c 2014-07-13 15:09:52.000000000 -0700
+++ src/coreutils-8.23/src/copy.c 2014-09-24 21:16:24.813716600 -0700
@@ -70,6 +70,10 @@
# include "verror.h"
--- origsrc/coreutils-8.24/src/copy.c 2015-06-26 11:05:22.000000000 -0600
+++ src/coreutils-8.24/src/copy.c 2015-08-26 17:59:36.474268300 -0600
@@ -74,6 +74,10 @@
# include <linux/falloc.h>
#endif
+#if __CYGWIN__
@@ -693,12 +717,12 @@
#ifndef HAVE_FCHOWN
# define HAVE_FCHOWN false
# define fchown(fd, uid, gid) (-1)
@@ -1313,7 +1317,11 @@ close_src_desc:
@@ -1411,7 +1415,11 @@ close_src_desc:
static bool
same_file_ok (char const *src_name, struct stat const *src_sb,
char const *dst_name, struct stat const *dst_sb,
- const struct cp_options *x, bool *return_now, bool *unlink_src)
+ const struct cp_options *x, bool *return_now, bool *unlink_src
- const struct cp_options *x, bool *return_now)
+ const struct cp_options *x, bool *return_now
+#if __CYGWIN__
+ , bool *case_change
+#endif
@@ -706,26 +730,26 @@
{
const struct stat *src_sb_link;
const struct stat *dst_sb_link;
@@ -1461,6 +1469,18 @@ same_file_ok (char const *src_name, stru
@@ -1555,6 +1563,18 @@ same_file_ok (char const *src_name, stru
if (S_ISLNK (dst_sb_link->st_mode))
return true;
+#if __CYGWIN__
+ /* If the files have the same name, but differ in case, then let
+ rename() change the case. */
+ rename() change the case. */
+ if (same_link && x->move_mode && same_name (src_name, dst_name)
+ && memcmp (last_component (src_name), last_component (dst_name),
+ base_len (src_name)) != 0)
+ {
+ *case_change = true;
+ return true;
+ }
+ && memcmp (last_component (src_name), last_component (dst_name),
+ base_len (src_name)))
+ {
+ *case_change = true;
+ return true;
+ }
+#endif /* __CYGWIN__ */
+
/* It's not ok if they're distinct hard links to the same file as
this causes a race condition and we may lose data in this case. */
if (same_link
&& 1 < dst_sb_link->st_nlink
&& ! same_name (src_name, dst_name))
@@ -1813,10 +1833,20 @@ copy_internal (char const *src_name, cha
@@ -1902,10 +1922,20 @@ copy_internal (char const *src_name, cha
&& ! (x->move_mode || x->symbolic_link || x->hard_link
|| x->backup_type != no_backups
|| x->unlink_dest_before_opening));
@@ -750,36 +774,36 @@
{
if (errno != ENOENT)
{
@@ -1833,10 +1863,17 @@ copy_internal (char const *src_name, cha
@@ -1921,10 +1951,17 @@ copy_internal (char const *src_name, cha
{ /* Here, we know that dst_name exists, at least to the point
that it is stat'able or lstat'able. */
bool return_now;
bool unlink_src;
+#if __CYGWIN__
+ bool case_change = false;
+ bool case_change = false;
+#endif /* __CYGWIN__ */
have_dst_lstat = !use_stat;
if (! same_file_ok (src_name, &src_sb, dst_name, &dst_sb,
- x, &return_now, &unlink_src))
+ x, &return_now, &unlink_src
- x, &return_now))
+ x, &return_now
+#if __CYGWIN__
+ , &case_change
+#endif
+))
+ , &case_change
+#endif /* __CYGWIN__ */
+ ))
{
error (0, 0, _("%s and %s are the same file"),
quote_n (0, src_name), quote_n (1, dst_name));
@@ -1895,6 +1932,9 @@ copy_internal (char const *src_name, cha
@@ -1983,6 +2020,9 @@ copy_internal (char const *src_name, cha
cp and mv treat -i and -f differently. */
if (x->move_mode)
{
+#if __CYGWIN__
+ if (!case_change)
+ if (!case_change)
+#endif /* __CYGWIN__ */
if (abandon_move (x, dst_name, &dst_sb)
|| (unlink_src && unlink (src_name) == 0))
if (abandon_move (x, dst_name, &dst_sb))
{
@@ -2058,7 +2098,11 @@ copy_internal (char const *src_name, cha
/* Pretend the rename succeeded, so the caller (mv)
@@ -2138,7 +2178,11 @@ copy_internal (char const *src_name, cha
/* Never unlink dst_name when in move mode. */
&& ! x->move_mode
&& (x->unlink_dest_before_opening
@@ -792,7 +816,7 @@
|| (x->dereference == DEREF_NEVER
&& ! S_ISREG (src_sb.st_mode))
))
@@ -2816,6 +2860,21 @@ copy (char const *src_name, char const *
@@ -2909,6 +2953,21 @@ copy (char const *src_name, char const *
{
assert (valid_options (options));
@@ -814,7 +838,7 @@
/* Record the file names: they're used in case of error, when copying
a directory into itself. I don't like to make these tools do *any*
extra work in the common case when that work is solely to handle
@@ -2827,10 +2886,15 @@ copy (char const *src_name, char const *
@@ -2920,10 +2979,15 @@ copy (char const *src_name, char const *
top_level_dst_name = dst_name;
bool first_dir_created_per_command_line_arg = false;
@@ -831,9 +855,9 @@
}
/* Set *X to the default options for a value of type struct cp_options. */
--- origsrc/coreutils-8.23/src/dd.c 2014-07-11 04:00:07.000000000 -0700
+++ src/coreutils-8.23/src/dd.c 2014-09-24 21:16:24.813716600 -0700
@@ -37,6 +37,10 @@
--- origsrc/coreutils-8.24/src/dd.c 2015-06-26 11:05:22.000000000 -0600
+++ src/coreutils-8.24/src/dd.c 2015-08-26 17:59:36.474268300 -0600
@@ -38,6 +38,10 @@
#include "xstrtol.h"
#include "xtime.h"
@@ -844,7 +868,7 @@
/* The official name of this program (e.g., no 'g' prefix). */
#define PROGRAM_NAME "dd"
@@ -1862,6 +1866,13 @@ copy_with_unblock (char const *buf, size
@@ -1965,6 +1969,13 @@ copy_with_unblock (char const *buf, size
static void
set_fd_flags (int fd, int add_flags, char const *name)
{
@@ -858,16 +882,16 @@
/* Ignore file creation flags that are no-ops on file descriptors. */
add_flags &= ~ (O_NOCTTY | O_NOFOLLOW);
@@ -2242,6 +2253,8 @@ main (int argc, char **argv)
@@ -2358,6 +2369,8 @@ main (int argc, char **argv)
}
else
{
+ if ((input_flags & (O_BINARY | O_TEXT)) == 0)
+ input_flags |= O_BINARY;
if (fd_reopen (STDIN_FILENO, input_file, O_RDONLY | input_flags, 0) < 0)
if (ifd_reopen (STDIN_FILENO, input_file, O_RDONLY | input_flags, 0) < 0)
error (EXIT_FAILURE, errno, _("failed to open %s"), quote (input_file));
}
@@ -2264,6 +2277,8 @@ main (int argc, char **argv)
@@ -2380,6 +2393,8 @@ main (int argc, char **argv)
| (conversions_mask & C_NOCREAT ? 0 : O_CREAT)
| (conversions_mask & C_EXCL ? O_EXCL : 0)
| (seek_records || (conversions_mask & C_NOTRUNC) ? 0 : O_TRUNC));
@@ -876,8 +900,8 @@
/* Open the output file with *read* access only if we might
need to read to satisfy a 'seek=' request. If we can't read
--- origsrc/coreutils-8.23/src/dircolors.c 2014-07-11 04:00:07.000000000 -0700
+++ src/coreutils-8.23/src/dircolors.c 2014-09-24 21:16:24.813716600 -0700
--- origsrc/coreutils-8.24/src/dircolors.c 2015-06-26 11:04:19.000000000 -0600
+++ src/coreutils-8.24/src/dircolors.c 2015-08-26 17:59:36.474268300 -0600
@@ -494,8 +494,12 @@ main (int argc, char **argv)
}
else
@@ -892,8 +916,8 @@
}
fputs (prefix, stdout);
fwrite (s, 1, len, stdout);
--- origsrc/coreutils-8.23/src/install.c 2014-07-13 15:09:52.000000000 -0700
+++ src/coreutils-8.23/src/install.c 2014-09-24 21:16:24.813716600 -0700
--- origsrc/coreutils-8.24/src/install.c 2015-06-26 11:04:19.000000000 -0600
+++ src/coreutils-8.24/src/install.c 2015-08-26 17:59:36.474268300 -0600
@@ -44,6 +44,10 @@
#include "utimens.h"
#include "xstrtol.h"
@@ -922,9 +946,9 @@
execlp (strip_program, strip_program, name, NULL);
error (EXIT_FAILURE, errno, _("cannot run %s"), strip_program);
break;
--- origsrc/coreutils-8.23/src/ls.c 2014-07-13 15:09:52.000000000 -0700
+++ src/coreutils-8.23/src/ls.c 2014-09-24 21:16:24.813716600 -0700
@@ -117,6 +117,10 @@
--- origsrc/coreutils-8.24/src/ls.c 2015-06-26 11:05:22.000000000 -0600
+++ src/coreutils-8.24/src/ls.c 2015-08-26 17:59:36.474268300 -0600
@@ -118,6 +118,10 @@
# include <sys/capability.h>
#endif
@@ -935,7 +959,7 @@
#define PROGRAM_NAME (ls_mode == LS_LS ? "ls" \
: (ls_mode == LS_MULTI_COL \
? "dir" : "vdir"))
@@ -747,6 +751,11 @@ static char const *long_time_format[2] =
@@ -750,6 +754,11 @@ static char const *long_time_format[2] =
N_("%b %e %H:%M")
};
@@ -947,7 +971,7 @@
/* The set of signals that are caught. */
static sigset_t caught_signals;
@@ -782,6 +791,9 @@ enum
@@ -785,6 +794,9 @@ enum
enum
{
AUTHOR_OPTION = CHAR_MAX + 1,
@@ -957,7 +981,7 @@
BLOCK_SIZE_OPTION,
COLOR_OPTION,
DEREFERENCE_COMMAND_LINE_SYMLINK_TO_DIR_OPTION,
@@ -843,6 +855,9 @@ static struct option const long_options[
@@ -846,6 +858,9 @@ static struct option const long_options[
{"block-size", required_argument, NULL, BLOCK_SIZE_OPTION},
{"context", no_argument, 0, 'Z'},
{"author", no_argument, NULL, AUTHOR_OPTION},
@@ -967,7 +991,7 @@
{GETOPT_HELP_OPTION_DECL},
{GETOPT_VERSION_OPTION_DECL},
{NULL, 0, NULL, 0}
@@ -1954,6 +1969,12 @@ decode_switches (int argc, char **argv)
@@ -1932,6 +1947,12 @@ decode_switches (int argc, char **argv)
print_scontext = true;
break;
@@ -980,7 +1004,7 @@
case_GETOPT_HELP_CHAR;
case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS);
@@ -2924,6 +2945,12 @@ gobble_file (char const *name, enum file
@@ -2918,6 +2939,12 @@ gobble_file (char const *name, enum file
uintmax_t blocks = 0;
struct fileinfo *f;
@@ -993,7 +1017,7 @@
/* An inode value prior to gobble_file necessarily came from readdir,
which is not used for command line arguments. */
assert (! command_line_arg || inode == NOT_AN_INODE_NUMBER);
@@ -3035,11 +3062,19 @@ gobble_file (char const *name, enum file
@@ -3028,11 +3055,19 @@ gobble_file (char const *name, enum file
file_failure (command_line_arg,
_("cannot access %s"), absolute_name);
if (command_line_arg)
@@ -1014,7 +1038,7 @@
return 0;
}
@@ -3223,6 +3258,9 @@ gobble_file (char const *name, enum file
@@ -3216,6 +3251,9 @@ gobble_file (char const *name, enum file
f->name = xstrdup (name);
cwd_n_used++;
@@ -1024,9 +1048,9 @@
return blocks;
}
@@ -4923,6 +4961,11 @@ Sort entries alphabetically if none of -
-Z, --context print any security context of each file\n\
-1 list one file per line\n\
@@ -4920,6 +4958,11 @@ Sort entries alphabetically if none of -
-1 list one file per line. Avoid '\\n' with -q or -b\
\n\
"), stdout);
+#if __CYGWIN__
+ fputs (_("\
@@ -1036,9 +1060,9 @@
fputs (HELP_OPTION_DESCRIPTION, stdout);
fputs (VERSION_OPTION_DESCRIPTION, stdout);
emit_size_note ();
--- origsrc/coreutils-8.23/src/md5sum.c 2014-07-11 04:00:07.000000000 -0700
+++ src/coreutils-8.23/src/md5sum.c 2014-09-24 21:16:24.813716600 -0700
@@ -813,6 +813,9 @@ main (int argc, char **argv)
--- origsrc/coreutils-8.24/src/md5sum.c 2015-06-26 11:05:22.000000000 -0600
+++ src/coreutils-8.24/src/md5sum.c 2015-08-26 17:59:36.474268300 -0600
@@ -816,6 +816,9 @@ main (int argc, char **argv)
if (optind == argc)
argv[argc++] = bad_cast ("-");
@@ -1048,8 +1072,8 @@
for (; optind < argc; ++optind)
{
char *file = argv[optind];
--- origsrc/coreutils-8.23/src/mv.c 2014-07-11 04:00:07.000000000 -0700
+++ src/coreutils-8.23/src/mv.c 2014-09-24 21:16:24.813716600 -0700
--- origsrc/coreutils-8.24/src/mv.c 2015-06-26 11:04:19.000000000 -0600
+++ src/coreutils-8.24/src/mv.c 2015-08-26 17:59:36.474268300 -0600
@@ -92,7 +92,7 @@ rm_option_init (struct rm_options *x)
x->require_restore_cwd = true;
@@ -1076,8 +1100,8 @@
if (target_directory_operand (file[n_files - 1]))
target_directory = file[--n_files];
else if (2 < n_files)
--- origsrc/coreutils-8.23/src/pwd.c 2014-07-13 15:09:52.000000000 -0700
+++ src/coreutils-8.23/src/pwd.c 2014-09-24 21:16:24.829292700 -0700
--- origsrc/coreutils-8.24/src/pwd.c 2015-06-26 11:04:19.000000000 -0600
+++ src/coreutils-8.24/src/pwd.c 2015-08-26 17:59:36.489854600 -0600
@@ -268,8 +268,8 @@ static void
robust_getcwd (struct file_name *file_name)
{
@@ -1108,8 +1132,8 @@
}
--- origsrc/coreutils-8.23/src/remove.h 2014-07-11 04:00:07.000000000 -0700
+++ src/coreutils-8.23/src/remove.h 2014-09-24 21:16:24.829292700 -0700
--- origsrc/coreutils-8.24/src/remove.h 2015-06-26 11:04:19.000000000 -0600
+++ src/coreutils-8.24/src/remove.h 2015-08-26 17:59:36.489854600 -0600
@@ -54,7 +54,7 @@ struct rm_options
/* Pointer to the device and inode numbers of '/', when --recursive
@@ -1119,8 +1143,8 @@
/* If nonzero, stdin is a tty. */
bool stdin_tty;
--- origsrc/coreutils-8.23/src/rm.c 2014-07-11 04:00:07.000000000 -0700
+++ src/coreutils-8.23/src/rm.c 2014-09-24 21:16:24.829292700 -0700
--- origsrc/coreutils-8.24/src/rm.c 2015-06-26 11:04:19.000000000 -0600
+++ src/coreutils-8.24/src/rm.c 2015-08-26 17:59:36.489854600 -0600
@@ -325,7 +325,7 @@ main (int argc, char **argv)
if (x.recursive && preserve_root)
@@ -1130,8 +1154,8 @@
x.root_dev_ino = get_root_dev_ino (&dev_ino_buf);
if (x.root_dev_ino == NULL)
error (EXIT_FAILURE, errno, _("failed to get attributes of %s"),
--- origsrc/coreutils-8.23/src/stat.c 2014-07-11 04:00:07.000000000 -0700
+++ src/coreutils-8.23/src/stat.c 2014-09-24 21:16:24.829292700 -0700
--- origsrc/coreutils-8.24/src/stat.c 2015-06-26 11:05:22.000000000 -0600
+++ src/coreutils-8.24/src/stat.c 2015-08-26 17:59:36.489854600 -0600
@@ -73,6 +73,13 @@
#include "find-mount-point.h"
#include "xvasprintf.h"
@@ -1144,9 +1168,9 @@
+#endif
+
#if USE_STATVFS
# define STRUCT_STATVFS struct statvfs
# define STRUCT_STATXFS_F_FSID_IS_INTEGER STRUCT_STATVFS_F_FSID_IS_INTEGER
@@ -189,6 +196,9 @@ static struct option const long_options[
# define HAVE_STRUCT_STATXFS_F_TYPE HAVE_STRUCT_STATVFS_F_TYPE
@@ -190,6 +197,9 @@ static struct option const long_options[
{"format", required_argument, NULL, 'c'},
{"printf", required_argument, NULL, PRINTF_OPTION},
{"terse", no_argument, NULL, 't'},
@@ -1156,7 +1180,7 @@
{GETOPT_HELP_OPTION_DECL},
{GETOPT_VERSION_OPTION_DECL},
{NULL, 0, NULL, 0}
@@ -1264,14 +1274,26 @@ do_statfs (char const *filename, char co
@@ -1267,14 +1277,26 @@ do_statfs (char const *filename, char co
return false;
}
@@ -1183,7 +1207,7 @@
return ! fail;
}
@@ -1282,6 +1304,7 @@ do_stat (char const *filename, char cons
@@ -1285,6 +1307,7 @@ do_stat (char const *filename, char cons
{
int fd = STREQ (filename, "-") ? 0 : -1;
struct stat statbuf;
@@ -1191,7 +1215,7 @@
if (0 <= fd)
{
@@ -1294,18 +1317,29 @@ do_stat (char const *filename, char cons
@@ -1297,18 +1320,29 @@ do_stat (char const *filename, char cons
/* We can't use the shorter
(follow_links?stat:lstat) (filename, &statbug)
since stat might be a function-like macro. */
@@ -1226,7 +1250,7 @@
return ! fail;
}
@@ -1427,6 +1461,11 @@ Display file or file system status.\n\
@@ -1430,6 +1464,11 @@ Display file or file system status.\n\
if you want a newline, include \\n in FORMAT\n\
-t, --terse print the information in terse form\n\
"), stdout);
@@ -1238,7 +1262,7 @@
fputs (HELP_OPTION_DESCRIPTION, stdout);
fputs (VERSION_OPTION_DESCRIPTION, stdout);
@@ -1547,6 +1586,12 @@ main (int argc, char *argv[])
@@ -1550,6 +1589,12 @@ main (int argc, char *argv[])
terse = true;
break;

View File

@@ -1,13 +0,0 @@
diff -Naur a/Makefile.in b/Makefile.in
--- a/Makefile.in 2014-07-19 02:22:24.000000000 +0400
+++ b/Makefile.in 2014-07-20 20:19:43.363400000 +0400
@@ -14076,8 +14076,8 @@
&& $(run_help2man) \
--source='$(PACKAGE_STRING)' \
--include=$(srcdir)/man/$$name.x \
- --output=$$t/$$name.1 $$t/$$argv \
--info-page='coreutils \(aq'$$name' invocation\(aq' \
+ --output=$$t/$$name.1 $$t/$$argv \
&& sed \
-e 's|$*\.td/||g' \
-e '/For complete documentation/d' \

View File

@@ -1,10 +1,10 @@
diff -Naur a/Makefile.in b/Makefile.in
--- a/Makefile.in 2014-07-20 20:19:48.636200000 +0400
+++ b/Makefile.in 2014-07-20 20:19:51.771800000 +0400
@@ -630,7 +630,7 @@
lib/areadlinkat.c lib/argmatch.c lib/argv-iter.c \
lib/argv-iter.h lib/backupfile.c lib/base64.h lib/base64.c \
lib/bitrotate.h lib/bitrotate.c lib/buffer-lcm.c \
@@ -622,7 +622,7 @@
lib/areadlink-with-size.c lib/areadlinkat.c lib/argmatch.c \
lib/argv-iter.c lib/argv-iter.h lib/backupfile.c lib/base64.h \
lib/base64.c lib/bitrotate.h lib/bitrotate.c lib/buffer-lcm.c \
- lib/buffer-lcm.h lib/c-ctype.h lib/c-ctype.c lib/c-strcase.h \
+ lib/buffer-lcm.h lib/cygwin.c lib/cygwin.h lib/c-ctype.h lib/c-ctype.c lib/c-strcase.h \
lib/c-strcasecmp.c lib/c-strncasecmp.c lib/c-strtod.c \
@@ -19,10 +19,10 @@ diff -Naur a/Makefile.in b/Makefile.in
lib/c-strcasecmp.$(OBJEXT) lib/c-strncasecmp.$(OBJEXT) \
lib/c-strtod.$(OBJEXT) lib/c-strtold.$(OBJEXT) \
lib/canon-host.$(OBJEXT) lib/canonicalize.$(OBJEXT) \
@@ -4174,7 +4174,7 @@
lib/areadlinkat.c lib/argmatch.c lib/argv-iter.c \
lib/argv-iter.h lib/backupfile.c lib/base64.h lib/base64.c \
lib/bitrotate.h lib/bitrotate.c lib/buffer-lcm.c \
@@ -4203,7 +4203,7 @@
lib/areadlink-with-size.c lib/areadlinkat.c lib/argmatch.c \
lib/argv-iter.c lib/argv-iter.h lib/backupfile.c lib/base64.h \
lib/base64.c lib/bitrotate.h lib/bitrotate.c lib/buffer-lcm.c \
- lib/buffer-lcm.h lib/c-ctype.h lib/c-ctype.c lib/c-strcase.h \
+ lib/buffer-lcm.h lib/cygwin.c lib/cygwin.h lib/c-ctype.h lib/c-ctype.c lib/c-strcase.h \
lib/c-strcasecmp.c lib/c-strncasecmp.c lib/c-strtod.c \

View File

@@ -1,8 +1,8 @@
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
pkgname=coreutils
pkgver=8.23
pkgrel=4
pkgver=8.24
pkgrel=1
pkgdesc="The basic file, shell and text manipulation utilities of the GNU operating system"
arch=('i686' 'x86_64')
license=('GPL3')
@@ -11,40 +11,37 @@ groups=('base')
depends=('gmp' 'libiconv' 'libintl')
makedepends=('gmp-devel' 'libiconv-devel' 'gettext-devel' 'help2man')
install=${pkgname}.install
source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}
001-coreutils-8.23-2.src.patch
002-fix-dummy-man-invocation.patch
source=(ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz{,.sig}
001-coreutils-8.24-3.src.patch
005-manifest.patch
006-msys1-0x0d.patch
008-msys2-src.patch
009-msysize.patch)
md5sums=('abed135279f87ad6762ce57ff6d89c41'
md5sums=('40efdbce865d2458d8da0a9dcee7c16c'
'SKIP'
'6a5a1cb7de1fdea8373484371a3fb4cd'
'e6abf5162a6cfa5662c2a7f0e55cd4b1'
'69f29d9683cf95bdfd6b1111e6e79ee4'
'78fdb4dd2df493df4ae24448e964d076'
'61aa69467df9084fe4611b737723f97b'
'81daac14dff78aadd8e935d8213727ad'
'755cd79ba7211b9ab73b0b2f0ec9c276'
'a159a8ab3cd0a5129f420db8e1102770')
prepare() {
cd ${srcdir}/${pkgname}-${pkgver}
patch -p2 -i $srcdir/001-coreutils-8.23-2.src.patch
patch -p1 -i $srcdir/002-fix-dummy-man-invocation.patch
patch -p2 -i $srcdir/001-coreutils-8.24-3.src.patch
patch -p1 -i $srcdir/005-manifest.patch
patch -p1 -i $srcdir/006-msys1-0x0d.patch
patch -p1 -i $srcdir/008-msys2-src.patch
patch -p1 -i $srcdir/009-msysize.patch
autoreconf -fi
sed -i -e 's|\(libstdbuf\.so\)$(EXEEXT)|\1|g' Makefile.in
}
build() {
[[ -d $srcdir/build-${CHOST} ]] && rm -rf $srcdir/build-${CHOST}
mkdir -p $srcdir/build-${CHOST} && cd $srcdir/build-${CHOST}
#cd ${srcdir}/${pkgname}-${pkgver}
../${pkgname}-${pkgver}/configure \
--build=${CHOST} \
--prefix=/usr \
@@ -61,7 +58,7 @@ build() {
}
package() {
cd $srcdir/build-${CHOST}
cd ${srcdir}/build-${CHOST}
make DESTDIR=${pkgdir} install
#mkdir -p ${pkgdir}/usr/etc