Skip to content

Commit

Permalink
Update to 8.29
Browse files Browse the repository at this point in the history
Upstream changes:
2017-12-27  Pádraig Brady  <[email protected]>

        version 8.29
        * NEWS: Record release date.

2017-12-23  Pádraig Brady  <[email protected]>

        tests: avoid false failure on AIX 7.2
        * tests/tail-2/pipe-f.sh: Close stdout in a subshell
        to ensure the current shell isn't impacted.  Subsequent
        piped commands like `echo foo | blah` were seen to fail
        due to the previous closing of stdout.
        Reported by Assaf Gordon.

        doc: describe recent build checks for 32 bit time_t
        * README: Document the new handling of 32 bit time_t,
        with examples of how to build in 64 bit mode on AIX.
        Also mention that GNU make is desired on AIX
        due to its mishandling of the "[" target.
        Suggested by Assaf Gordon.

2017-12-21  Pádraig Brady  <[email protected]>

        tests: fix recent portability issues on solaris 10
        * tests/misc/ptx.pl: Escape the '^' character which is
        otherwise considered as a line continuation character.
        * tests/misc/shred-remove.sh: sed doesn't support \n.

        maint: remove reference to excluded changelog item
        * build-aux/git-log-fix: Remove old entry.

2017-12-20  Pádraig Brady  <[email protected]>

        maint: add doc/coverage to .gitignore
        * .gitignore: Ignore the generated coverage report.

        doc: remove older ChangeLog items
        * Makefile.am: Update the oldest documented version
        to 8.20 which is now about 5 years old.

2017-12-18  Bernhard Voelker  <[email protected]>

        doc: mention which privileges are needed to chmod
        POSIX specification for chmod(1):
        https://pubs.opengroup.org/onlinepubs/9699919799/utilities/chmod.html

        * doc/coreutils.texi (chmod invocation): Add a sentence about who can
        change the file mode bits of a file - (almost) a copy from what POSIX
        requires.

        Fixes https://bugs.gnu.org/29207.

2017-12-16  Pádraig Brady  <[email protected]>

        tests: fix recent regressions with dash
        * tests/misc/timeout.sh: dash outputs the "Killed"
        message to stderr rather than the terminal.
        * tests/misc/usage_vs_getopt.sh: dash doesn't yet
        support the POSIX proposed $'...' shell quoting syntax.

        build: avoid a signed overflow warning in ptx
        * src/ptx.c (fix_output_parameters): GCC 6.3.1 with
        ./configure --enable-single-binary would give:
          error: assuming signed overflow does not occur
          when simplifying conditional to constant [-Werror=strict-overflow]
            if (file_index > 0)
        So change the type of file_index to signed (size_t).

2017-12-11  Bernhard Voelker  <[email protected]>

        maint: adjust for the renamed nstrfime gnulib module
        * bootstrap.conf: s/strftime/nstrfrime/.

2017-12-11  Pádraig Brady  <[email protected]>

        build: update gnulib submodule to latest
        * gnulib: Update with various build/test fixes.

        tests: fix false failure in new dd/nocache_eof test
        * test/dd/nocache_eof.sh: Also handle fadvise64_64 which is
        used on 32 bit x86.  Note strace internally maps fadvise64_64
        to {arm,xtensa}_fadvise64_64.

        tail: fix tailing non seekable files on certain systems
        * src/tail.c (tail_bytes): On systems were blksize_t is unsigned
        and the same size or wider than off_t (android for example),
        our initialized (off_t) -1 would be promoted to unsigned before
        comparison, and thus fail to follow the appropriate path.
        * tests/tail-2/tail-c.sh: Add a test case.
        * NEWS: Mention the fix.
        This issue was introduced in commit v8.23-47-g2662702
        Reported at https://github.com/termux/termux-app/issues/233

        build: avoid build failure without sys/mtio.h
        * m4/jm-macros.m4: Check for the header.
        * src/dd.c: Avoid the workaround where the header
        is not available (on non glibc systems).
        * src/shred.c: Likewise.

        doc: reorganize ls -k and --time-style help
        * src/ls.c (usage): Clarify -k only applies to -s usage
        and directory 'total' lines.  Move the description
        of TIME_STYLE out of the option section as it was awkward
        to read and write there within 80 columns.

2017-12-10  Pádraig Brady  <[email protected]>

        doc: clarify numeric setuid handling in chmod man page
        * man/chmod.x: Update the information to state one can
        clear the setuid and setgid bits for directories numerically
        using an additional leading '0' or a leading '='.
        That has been supported since v8.15-64-g8931cdb.
        Fixes https://bugs.gnu.org/29390

        doc: shred: change 'truncate' to the more descriptive 'deallocate'
        * doc/coreutils.texi (shred invocation): s/truncate/deallocate/.
        * src/shred.c (usage): Likewise.
        Fixes https://bugs.gnu.org/29317

        doc: clarify that cp --force may recreate files
        * doc/coreutils.texi (cp invocation): The language used
        to describe recreating the file was a little confusing
        as it mentioned opening a removed file.
        Fixes https://bugs.gnu.org/29315

2017-12-04  Kamil Dudka  <[email protected]>

        doc: fix default QUOTING_STYLE for %N format of stat(1)
        * doc/coreutils.texi (stat invocation): The default value
        of QUOTING_STYLE for the %N format of 'stat --printf' is
        'shell-escape-always'.
        Fixes https://bugs.gnu.org/29563
        Reported by Christian Groessler at
        https://bugzilla.redhat.com/1520399#c3

2017-12-02  Jean Delvare  <[email protected]>

        tests: make ls/block-size more readable
        * tests/ls/block-size.sh: The output of the test was hard to read. Add
        comments saying what we are testing to make it easier to understand.

2017-11-29  Bernhard Voelker  <[email protected]>
            Pádraig Brady  <[email protected]>

        tests: verify usage vs. getopt
        Verify that all options mentioned in usage are actually recognized
        by the program.

        * tests/misc/usage_vs_getopt.sh: Add test.
        * tests/local.mk (all_tests): Reference it.

2017-11-29  Pádraig Brady  <[email protected]>

        readlink: remove superfluous comma from usage output
        * src/readlink.c (usage): Remove ',' after --quiet option.

2017-11-29  Bernhard Voelker  <[email protected]>

        all: use consistent diagnostics for unknown long options
        Previously, e.g. cksum failed to output the offending unknown long
        option:
          $ cksum --unknown-opt
          cksum: invalid option -- '-'
          Try 'cksum --help' for more information.
        i.e., it tried to diagnose '-' as short option.
        Instead, it should diagnose the unknown long option:
          $ cksum --unknown-opt
          cksum: unrecognized option '--unknown-opt'
          Try 'cksum --help' for more information.

        * src/cksum.c (long_options): Add struct with null entry only.
        (main): Use it in the getopt_long call.
        * src/dd.c: Likewise.
        * src/hostid.c: Likewise.
        * src/hostname.c: Likewise.
        * src/link.c: Likewise.
        * src/logname.c: Likewise.
        * src/nohup.c: Likewise.
        * src/sleep.c: Likewise.
        * src/tsort.c: Likewise.
        * src/unlink.c: Likewise.
        * src/uptime.c: Likewise.
        * src/users.c: Likewise.
        * src/whoami.c: Likewise.
        * src/yes.c: Likewise.
        * NEWS (Improvements): Mention the fix.

2017-11-29  Pádraig Brady  <[email protected]>

        test: fix issues with tests/cp/preserve-mode.sh
        * tests/cp/preserve-mode.sh: This was the only use of awk,
        which may not be available on the system resulting
        in an ineffective test.  Also the permissions bits for
        directories were not being checked at all.

        build: update gnulib submodule to latest
        * gnulib: Update with various build/test fixes.

2017-11-28  Pádraig Brady  <[email protected]>

        build: update gnulib submodule to latest
        * gnulib: Update including various build fixes.

2017-11-27  Bernhard Voelker  <[email protected]>

        timeout: also support short -v option
        * src/timeout.c (main): Add short option character 'v' to getopt_long
        call.
        * tests/misc/timeout.sh: Run the test both for the long and the short
        option.

2017-11-25  Pádraig Brady  <[email protected]>

        dd: support iflag=direct with arbitrary sized files
        * src/dd.c (iread): Handle read error with a non-aligned
        file offset in the O_DIRECT case.  This is not an issue
        on XFS at least, but on EXT4 the final read will return
        EINVAL rather than the expected 0 to indicate EOF.
        * tests/dd/direct.sh: Test the iflag=direct case also.
        * NEWS: Mention the improvement.

2017-11-24  Pádraig Brady  <[email protected]>

        timeout: add --verbose to diagnose timeouts
        This is useful as handling in shell is complicated
        with the varying exit status in the --kill-after case.

        * src/timeout.c (main): Handle '-v' and store
        COMMAND for the diagnostic.
        (cleanup): Diagnose the signal name before sending.
        (usage): Document -v, --verbose.
        * doc/coreutils.texi (timeout invocation): Likewise.
        * tests/misc/timeout.sh: Add a test case.
        * NEWS: Mention the new feature
        Fixes https://bugs.gnu.org/21760

2017-11-19  Pádraig Brady  <[email protected]>

        tail: seek to the end of block devices
        * src/tail.c (tail_bytes): Try lseek(..., SEEK_END) when
        we can't determine the file size.
        * tests/tail-2/end-of-device.sh: Add a new root only test.
        * tests/local.mk: Reference the new test.
        * NEWS: Mention the improvement.
        Paul Eggert suggested using lseek() (rather than ioctl(BLKGETSIZE64)).
        Fixes https://bugs.gnu.org/29259

2017-11-14  Bernhard Voelker  <[email protected]>

        maint: include the module year2038 from gnulib
        * bootstrap.conf (gnulib_modules): Add 'year2038' to ensure that time_t
        is 64-bit (and thus works after 2038).

        Suggested by Bruno Haible in
        https://lists.gnu.org/r/bug-gnulib/2017-11/msg00022.html

2017-11-14  Bernhard Voelker  <[email protected]>

        maint: update gnulib to latest
        * gnulib: Update - mainly for the recent year2038 changes.
        * tests/init.sh: Update from gnulib/tests/init.sh.

2017-11-09  Assaf Gordon  <[email protected]>

        doc: add github issue/pull-request templates
        These templates instruct contributors not to use github, and instead
        use the upstream GNU development resources. Discussed in
        http://lists.gnu.org/archive/html/coreutils/2017-11/msg00007.html .

        * .github/ISSUE_TEMPLATE.txt,
          .github/PULL_REQUEST_TEMPLATE.txt: New files.

2017-11-08  Jim Meyering  <[email protected]>

        maint: make hook script reject "/archive/html" in lists.gnu.org URLS
        * scripts/git-hooks/commit-msg: Require the abbreviated "/r/"
        form in any log message URL.

        maint: shorten https://lists.gnu.org/archive/html/... links
        Each /archive/html/ part can be replace with /r/.
        Run this to induce the change:
        git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
        * TODO: Perform that substitution.
        * bootstrap: Likewise.
        * src/sort.c (sequential_sort): Likewise.
        * src/tail.c (tail_file): Likewise.
        * tests/misc/sort-merge-fdlimit.sh: Likewise.
        * tests/misc/stty-row-col.sh: Likewise.
        * tests/misc/unexpand.pl: Likewise.
        * tests/rm/readdir-bug.sh: Likewise.
        * tests/tail-2/inotify-rotate.sh: Likewise.

2017-11-07  Thomas Deutschmann  <[email protected]>

        tests: avoid false failure with inaccessible mount points
        * tests/ls/readdir-mountpoint-inode.sh: Skip the test
        if any mount points are inaccessible by the current user.
        Fixes https://bugs.gnu.org/29167
        Reported at: https://bugs.gentoo.org/353164

2017-11-06  Bernhard Voelker  <[email protected]>

        doc: fix "Up" field of realpath usage examples
        Older versions of 'makeinfo' choke on a missing reference:

          ./doc/coreutils.texi:14177: `Realpath usage examples' has no Up field\
          (perhaps incorrect sectioning?).
          makeinfo: Removing output file `doc/coreutils.info' due to errors; \
          use --force to preserve.

        * doc/coreutils.texi (realpath invocation): Add a menu referencing
        the usage examples - introduced in v8.27-91-g7449f0d.

2017-11-06  Pádraig Brady  <[email protected]>

        maint: ensure https:// URLs are used in --help and man pages
        * configure.ac(AC_INIT): Specify the URL explicitly, so we're
        not dependent on unreleased autoconf.

2017-10-31  Assaf Gordon  <[email protected]>

        stat: output default formats for --terse in usage
        Suggested by L A Walsh in https://bugs.gnu.org/28763 .

        * src/stat.c (fmt_terse_fs): Define format for --terse -f here.
        (fmt_terse_regular): Define format for --terse here.
        (fmt_terse_selinux): Likewise for when SELinux is enabled.
        (default_format): Use the above constants.
        (usage): Output the formats for the terse modes.

2017-10-30  Pádraig Brady  <[email protected]>

        df: fix hang with fifo argument
        * src/df.c (main): stat() before open(), and avoid
        the optional open when given a fifo argument.
        * tests/df/unreadable.sh: Add a test case.
        * NEWS: Mention the fix.
        Fixes https://bugs.gnu.org/29038

2017-10-28  Jim Meyering  <[email protected]>

        build: ls.c: apply _GL_ATTRIBUTE_PURE to more functions
        * src/ls.c (DEFINE_SORT_FUNCTIONS): Apply _GL_ATTRIBUTE_PURE
        to each strcmp-derived function definition, since GCC8 with
        -Wsuggest-attribute=pure now warns it is needed.

2017-10-26  Vincent Lefevre  <[email protected]>

        doc: reference statfs(2) in the stat(1) man page
        * man/stat.x (SEE ALSO): Mention statfs(2) in addition to stat(2).
        Note statfs() is generally used rather than statvfs(),
        so we'll defer that reference to the SEE ALSO section of statfs(2).
        Fixes https://bugs.gnu.org/28989

2017-10-25  Pádraig Brady  <[email protected]>

        tests: avoid false failure when O_DIRECT isn't supported
        * tests/dd/nocache_eof.sh: Only run the O_DIRECT tests
        when 512 byte alignment is supported.  Otherwise with older
        XFS on systems with > 1MiB pages, or on file systems not
        supporting O_DIRECT, there would have been false failures.
        * tests/dd/direct.sh: Clarify the skip message.

2017-10-25  Pádraig Brady  <[email protected]>

        dd: fix nocache regions passed to posix_fadvise()
        Previously with oflag=direct the call to invalidate_cache()
        was not passed to the kernel, as it was less than a page size,
        and a subsequent call was not made to invalidate the pending space.
        Similarly with oflag=nocache the pending space at EOF was
        not invalidated.  Even though these amount to only a single page
        in the page cache it can be significant.  For example on
        XFS before kernel patch v4.9-rc1-4-g0ee7a3f, O_DIRECT files
        would have been read inefficiently if any pages were cached,
        even if they were already synced to storage.

        * src/dd.c (i_nocache_eof, o_nocache_eof): New bools used
        to control when we want invalidate_cache(,0) to clear to EOF.
        (cache_round): Use IO_BUFSIZE (currently 132KiB) to minimize
        calls to the relatively expensive advise function, rather
        than page_size.  This also makes it clear that while the
        kernel function operates on pages, this size is chosen for
        performance reasons.
        (invalidate_cache): Refactor to share more code between
        input and output paths. Use i_nocache_eof and o_nocache_eof
        rather than proxying off max_records.  Ensure we
        invalidate full pages when clearing to EOF as the kernel
        will ignore any non complete pages.  Fix the offset used
        for the output path.
        (dd_copy): Invalidate the cache of the input after the
        offset is updated, for consistency and so we don't try to
        invalidate before the start of the file.  When we read
        EOF on input, set flags so that we invalidate to EOF.
        (main): Invalidate to EOF in more cases, by depending
        on the i_nocache_eof and o_nocache_eof flags.
        * doc/coreutils.texi (dd invocation): Clarify the alignment
        and persisted caveats on the example applying "nocache"
        to part of a file.
        * tests/dd/nocache_eof.sh: A new test.
        * tests/local.mk: Reference the new test.
        * NEWS: Mention the bug fix.
        Issue reported by Eric Bergen.

2017-10-24  Michael Stone  <[email protected]>

        doc: mention QUOTING_STYLE env var in ls man page
        * src/ls.c (usage): Mention QUOTING_STYLE with the --quoting-style
        option, and indicate it has lower precedence than that option.

2017-10-24  Pádraig Brady  <[email protected]>

        maint: apply suggested cleanup to recent stty.c change
        This should have been part of commit v8.28-17-gf926f7c
        * src/stty.c (check_argument): Align line continuation chars,
        and ensure the function macro is immune to usage with if/else.
        Suggested by Jim Meyering and Paul Eggert.

        b2sum: fix crash with --check and truncated input
        * src/md5sum.c (split_3): Ensure we don't walk off
        the end of the string.
        * tests/misc/b2sum.sh: Add test cases.
        Fixes https://bugs.gnu.org/28860

2017-10-24  Pádraig Brady  <[email protected]>

        stty: fix processing of options when -F is specified
        This was a latent issue that became significant with
        the addition of the -F option in FILEUTILS-3_16n-56-ge46a424

        * src/stty.c (apply_settings): Refactor argument checking
        to a function macro.  Augment the argument check to ignore
        NULLed out arguments (already processed -F).
        * NEWS: Mention the fix.
        * tests/misc/stty-invalid.sh: Add a test case.
        Fixes https://bugs.gnu.org/28859

2017-10-24  Pádraig Brady  <[email protected]>

        timeout: fix a small race that would ignore command exit
        This fixes a regression from commit v8.26-39-g2f69dba

        * src/timeout.c (block_cleanup_and_chld): Rename from block_cleanup
        to indicate we also block SIGCHLD to avoid the race where SIGCHLD
        fires between waitpid() polling and sigsuspend() waiting for a signal.
        * NEWS: Mention the fix.

2017-10-24  Thomas Jarosch  <[email protected]>

        timeout: fix regression when invoked with blocked SIGCHLD
        We inherit the signal mask from our parent process,
        therefore ensure SIGCHLD is not blocked.

        If SIGCHLD is blocked, sigsuspend() won't be interrupted
        when the child process exits and we hang until the timeout (SIGALRM).

        This fixes a regression from commit v8.26-39-g2f69dba

        * src/timeout.c (install_sigchld): Ensure SIGCHLD is unblocked.
        * NEWS: Mention the issue.

2017-10-02  Pádraig Brady  <[email protected]>

        build: reinstate distribution of man pages
        man pages change little between systems,
        so falling back to distributed pages make sense
        when cross compiling or lacking perl.

        * man/local.mk: Add all man pages to EXTRA_DIST
        so that they're distributed in the generated tarball.
        Use the dummy-man page generator if cross compiling.
        Set TZ to avoid a distcheck failure where man pages
        used a diffent month than those rebuilt (with a .timestamp).
        * man/dummy-man: Only fall back to generating a stub
        if copying an existing man page fails.
        * man/help2man: Sync portable TZ=UTC0 specification
        from upstream help2man.
        * NEWS: Mention the build-related change.
        Fixes https://bugs.gnu.org/28574

2017-10-02  Pádraig Brady  <[email protected]>

        maint: remove a duplicate entry from THANKS
        * .mailmap: Prefer Colin Watson's last used email address.

2017-09-25  Paul Eggert  <[email protected]>

        copy: revert recent patch for vulnerable dirs
        I plan to propose a better patch to catch vulnerable parent
        directories.
        * NEWS, doc/coreutils.texi (Target directory): Document this.
        * src/cp.c, src/install.c, src/ln.c, src/mv.c:
        Do not include targetdir.h.
        (target_directory_operand): Remove test for vulnerable parents.
        * src/cp.c (stat_target_operand): Remove.  All uses removed.
        * src/local.mk (noinst_HEADERS): Remove src/targetdir.h.
        (src_ginstall_SOURCES, src_cp_SOURCES, src_ln_SOURCES)
        (src_mv_SOURCES): Remove src/targetdir.c.
        * src/targetdir.c, src/targetdir.h: Remove.
        * tests/mv/vulnerable-target.sh: Remove.
        * tests/local.mk (all_root_tests): Remove it.

2017-09-24  Pádraig Brady  <[email protected]>

        tests: fix test hang on case insenitive file systems
        * tests/split/filter.sh: Due to an invalid 'FILE = zero.in'
        construct trying to initialize a FILE variable, it would
        instead try to run the FILE command which is present on
        macOS 10.13 with APFS.
        We also remove a redundant duplicate test clause introduced
        during a rebase, and simplify the piped timeout command,
        to avoid requiring a subshell and associated quoting.
        * THANKS.in: Add the reporter Jack Howarth.
        Fixes https://bugs.gnu.org/28506

2017-09-21  Pádraig Brady  <[email protected]>

        tests: avoid a false failure in expr test with UTF8
        * tests/misc/expr.pl: Skip the quote varying tests in
        the multi-byte locales as these tests aren't that interesting
        in those locales.  Also ERR_SUBST is already defined for
        some tests so awkward to redefine to munge UTF8 quotes to ASCII.

2017-09-20  Assaf Gordon  <[email protected]>

        expr: add detailed syntax error messages
        Show offending argument instead of a generic 'syntax error' message.
        Suggested by Bernhard Voelker in https://bugs.gnu.org/28461#13 .

        * src/expr.c (syntax_error): Remove.
        (required_more_args): New function.
        (eval7, main): Replace syntax_error call with detailed die message.
        * tests/misc/expr.pl: Add tests for new messages.

2017-09-20  Pádraig Brady  <[email protected]>

        maint: fix new syntax-check failures from HTTPS adjustments
        * cfg.mk [old_NEWS_hash]: update with `make update-NEWS-hash`.
        [sc_long_lines]: Avoid flagging (long) URLs in NEWS.
        * src/sort.c: Tweak to a shorter line.
        * src/tail.c: Likewise.
        Introduced in v8.28-4-gbe87d61

        maint: fix new syntax check failures from copy restrictions
        * doc/coreutils.texi: Remove doubled word.
        * src/targetdir.c: Explicitly mark exported function.
        * tests/local.mk: This is not a root only test.
        * tests/mv/vulnerable-target.sh: Use returns_.
        Introduced in v8.28-3-g44ccd1c

        shred: reinstate --remove file name length obfuscation
        This was unintentionally removed in v8.27-60-g2ae1460
        * src/shred.c (wipename): Interate through all name lengths.
        * tests/misc/shred-remove.sh: Add test cases.
        * NEWS: Mention the bug fix.
        Fixes https://bugs.gnu.org/28507

2017-09-19  Paul Eggert  <[email protected]>

        maint: copy bootstrap from Gnulib

        all: prefer HTTPS in URLs

        copy: check for vulnerable target dirs
        * NEWS, doc/coreutils.texi (Target directory): Document this.
        * src/cp.c, src/install.c, src/ln.c, src/mv.c: Include targetdir.h.
        (target_directory_operand): Use the new targetdir_operand_type
        function to check for vulnerable target directories.
        * src/cp.c (stat_target_operand): New function.
        (target_directory_operand, do_copy): Use it.
        * src/local.mk (noinst_HEADERS): Add src/targetdir.h.
        (src_ginstall_SOURCES, src_cp_SOURCES, src_ln_SOURCES)
        (src_mv_SOURCES): Add src/targetdir.c.
        * src/targetdir.c, src/targetdir.h: New files.
        * tests/mv/vulnerable-target.sh: New test.
        * tests/local.mk (all_root_tests): Add it.

2017-09-14  Bernhard Voelker  <[email protected]>

        ptx: avoid infloop due to zero-length matches with -S regex
        * src/ptx.c (find_occurs_in_text): Die with an appropriate error
        diagnostic when the given regular expression returns a match of
        length 0.
        * tests/misc/ptx.pl (S-infloop): Add a test.
        * NEWS (Bug fixes): Mention the fix.

        Fixes https://bugs.gnu.org/28417 which was detected using
        Symbolic Execution techniques developed in the course of the
        SYMBIOSYS research project at COMSYS, RWTH Aachen University.

2017-09-02  Pádraig Brady  <[email protected]>

        maint: post-release administrivia
        * NEWS: Add header line for next release.
        * .prev-version: Record previous version.
        * cfg.mk (old_NEWS_hash): Auto-update.

        version 8.28
        * NEWS: Record release date.

2017-09-01  Pádraig Brady  <[email protected]>

        tests: fix false failure in recent ls --hyperlink test
        * tests/ls/hyperlink.sh: If the hostname or any part of
        the absolute path would be changed due to URL encoding,
        the test would fail.  Therefore simplify to remove
        these components of the URL from consideration.

        maint: avoid a syntax-check failure
        * .gitignore: Remove lines indicated by sc_gitignore_redundant
        in a freshly checked out repo.

2017-08-31  Pádraig Brady  <[email protected]>

        tests: exclude the expensive gnulib fts-tests
        * gnulib: The only change in this gnulib update
        is the tagging of the fts-tests module as longrunning,
        which gnulib-tool currently implicitly excludes.
        This test was seen to take about 20s and 285MB.
        Reported by Assaf Gordon on space restricted VMs.

        tty: don't distinguish input errors
        * src/tty.c (main): Don't distinguish ENOTTY from other errors,
        because isatty() doesn't portably distinguish errors.
        Solaris returns ENOENT for all input errors for example.
        Musl also returns ENOENT, and ENODEV may be returned as disscussed at:
        http://openwall.com/lists/musl/2017/04/06/6
        * tests/misc/tty.sh: Adjust accordingly.

        tests: avoid printf '0*d' construct unsupported by ash
        * tests/ln/sf-1.sh: Generate specific length with space padding
        which is supported.
        Reported by Assaf Gordon on Alpine Linux.

2017-08-31  Pádraig Brady  <[email protected]>

        tests: skip tests upon failure to set SELinux context
        On some setups the root:object_r:tmp_t context is invalid.
        This does indicate a limitation in the test framework,
        but for now we'll relax this to skipping the tests.
        The tests still run on a Fedora 25 system for example.

        * tests/cp/cp-a-selinux.sh: Upon chcon error, skip rather than ERROR.
        * tests/install/install-Z-selinux.sh: Likewise.
        * tests/misc/chcon.sh: Likewise.
        * tests/misc/runcon-no-reorder.sh: Likewise.
        * tests/misc/selinux.sh: Likewise.
        * tests/mkdir/restorecon.sh: Likewise.

2017-08-30  Kamil Dudka  <[email protected]>

        expr: fix a recently introduced memory leak
        * src/expr.c (eval6): Free memory allocated by mbs_logical_substr().

        Introduced in v8.27-47-ga9f2be5.  Detected by Coverity Analysis:

        Error: RESOURCE_LEAK:
        src/expr.c:851: leaked_storage: Variable "s" going out of scope
        leaks the storage it points to.
        849|             char *s = mbs_logical_substr (l->u.s, pos, len);
        850|             v = str_value (s);
        851|->         }
        852|         freev (l);
        853|         freev (i1);

2017-08-30  Pádraig Brady  <[email protected]>

        build: fix build of renameat2 on Alpine Linux
        * gnulib: The only change included in this update
        it the added check for the presence of <linux/fs.h>
        which is not present on Alpine Linux by default.

        tty: fix exit code with EINVAL
        * src/tty.c (main): All systems mention that isatty()
        man return EINVAL as well as (the POSIX compliant) ENOTTY.
        Also Centos 6 was seen to return EINVAL from ttyname().
        * tests/misc/tty.sh: Fix a test issue where we assume
        standard input is always a valid tty.
        Reported by Assaf Gordon on OpenSolaris 5.10 and 5.11,
        and Centos 6.5

2017-08-30  Pádraig Brady  <[email protected]>

        runcon: revert "disable use of the TIOCSTI ioctl"
        This reverts commit v8.27-97-g8cb06d4 because
        the setsid() fallback was not implemented correctly
        and disabling the ioctl was not a complete solution
        to the security issue of the child being passed
        the tty of the parent.

        Given runcon is not really a sandbox command,
        the advice is to use `runcon ... setsid ...`
        to avoid this particular issue.

2017-08-30  Pádraig Brady  <[email protected]>

        stat: fix determination of max name length on BSD systems
        We only use one of statfs or statvfs for `stat -f`
        and on the BSDs we use statfs which doesn't have the
        f_namelen member.  However on OpenBSD and later FreeBSD
        systems statfs does provide f_namemax, so use that.

        * NEWS: Mention the improvement for OpenBSD and FreeBSD.
        * m4/stat-prog.m4: Check for f_namemax in the statfs struct.
        * src/stat.c: Return '?' rather than '*' when we can't
        determine the max length of the file system.
        * tests/ln/sf-1.sh: This test was failing on all BSDs
        due to '*' being returned for the max length which
        caused the test to attempt to create 1Mi+1 names.
        The test now uses a short name when we can't determine
        the max name length to use.

        Reported by Assaf Gordon on various BSD based systems.

2017-08-29  Pádraig Brady  <[email protected]>

        stat,tail: support "AAFS" AppArmor file system
        * src/stat.c (human_fstype): This file system is used
        to manage AppArmor policy in the Linux kernel.

        all: update gnulib submodule to latest
        * bootstrap: Sync timestamp update.

2017-08-29  Pádraig Brady  <[email protected]>

        runcon: disable use of the TIOCSTI ioctl
        Similar to the issue with SELinux sandbox (CVE-2016-7545),
        children of runcon can inject arbitrary input to the terminal
        that would be run at the originating terminal privileges.

        The new libseccomp dependency is widely available and used
        on modern SELinux systems, but is not available by default
        on older systems like RHEL6 etc.

        * m4/jm-macros.m4: Check for libseccomp and
        warn if unavailable on selinux supporting systems.
        * src/local.mk: Link runcon with -lseccomp.
        * src/runcon.c (disable_tty_inject): A new function to
        disable use of the TIOCSTI using libseccomp, or with setsid()
        where libseccomp is unavailable.
        * tests/misc/runcon-no-inject.sh: A new test that uses
        python to make the TIOCSTI call, and ensure that doesn't succeed.
        * tests/local.mk: Reference the new test
        * NEWS: Mention the fix.
        Addresses http://bugs.gnu.org/24541

2017-08-29  Pádraig Brady  <[email protected]>

        ls: support --hyperlink to output file:// URIs
        Terminals such as iTerm2 and VTE based terminals
        (as of version 0.49.1), support hyperlinks when
        passed terminals codes as described at:
        https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda

        * src/ls.c (gobble_file): Allocate an absolute file name to output.
        (quote_name): Output the absolute name with the appropriate codes.
        (file_escape): A new function to encode file names as per rfc8089.
        (main): Handle the new option and call the file_escape_init() helper.
        Disable --dired when --hyperlink is specified.
        (print_dir): Get the absolute file name here too, so that the
        directory name can be linkified.
        * NEWS: Mention the new feature.
        * tests/ls/hyperlink.sh: Add a new test.
        * tests/local.mk: Reference the new test.
        * doc/coreutils.texi (ls invocation): Describe --hyperlink.

2017-08-29  Pádraig Brady  <[email protected]>

        doc: remove older ChangeLog items
        This saves about 0.5MB uncompressed from the tarball.

        * Makefile.am: Following on from v8.26-34-g2c64bc8
        update the oldest documented version to 8.18 which
        is now about 5 years old.  Also remove older ChangeLogs
        that were previously thought to be for changes not
        in the git history, but are adequately recorded upon review.
        * build-aux/ChangeLog-2007: Remove file.
        * lib/ChangeLog-2007: Likewise.
        * m4/ChangeLog-2007: Likewise.

2017-08-29  Colin Watson  <[email protected]>

        env: add --chdir option
        This is useful when chaining with other commands that run commands in a
        different context, while avoiding using the shell to cd, and thus
        having to consider shell quoting the chained command.

        * NEWS (New features): Document the new option.
        * doc/coreutils.texi (env invocation): Likewise.
        * src/env.c (usage): Likewise.
        (main): Implement the new option.
        * tests/misc/env.sh: Test the new option.

2017-08-29  Pádraig Brady  <[email protected]>

        tests: don't fail tests when failing to write files
        * tests/sample-test: Use framework_error_ rather than fail=1
        * tests/chown/deref.sh: Likewise.
        * tests/chown/preserve-root.sh: Likewise.
        * tests/cp/src-base-dot.sh: Likewise.
        * tests/dd/unblock-sync.sh: Likewise.
        * tests/du/2g.sh: Likewise.
        * tests/du/inacc-dest.sh: Likewise.
        * tests/du/one-file-system.sh: Likewise.
        * tests/fmt/goal-option.sh: Likewise.
        * tests/ln/hard-backup.sh: Likewise.
        * tests/ls/color-dtype-dir.sh: Likewise.
        * tests/ls/m-option.sh: Likewise.
        * tests/ls/stat-dtype.sh: Likewise.
        * tests/ls/time-style-diag.sh: Likewise.
        * tests/ls/x-option.sh: Likewise.
        * tests/misc/chcon.sh: Likewise.
        * tests/misc/nohup.sh: Likewise.
        * tests/misc/od-N.sh: Likewise.
        * tests/misc/sort-compress.sh: Likewise.
        * tests/misc/tac-continue.sh: Likewise.
        * tests/misc/time-style.sh: Likewise.
        * tests/mv/backup-dir.sh: Likewise.
        * tests/mv/dir2dir.sh: Likewise.
        * tests/rm/dir-no-w.sh: Likewise.
        * tests/rm/dir-nonrecur.sh: Likewise.
        * tests/rm/inaccessible.sh: Likewise.
        * tests/rm/interactive-always.sh: Likewise.
        * tests/rm/interactive-once.sh: Likewise.
        * tests/rm/rm3.sh: Likewise.
        * tests/rm/v-slash.sh: Likewise.
        * tests/touch/relative.sh: Likewise.

2017-08-29  Josef Cejka  <[email protected]>
            Bernhard Voelker  <[email protected]>

        df: avoid stat() for dummy file systems with -l
        When systemd is configured to automount a remote file system - see
        'man systemd.automount(5)', then the mount point is initially
        mounted by systemd with the file system type "autofs".
        When the resource is used later on, then the wanted file system is
        mounted over that mount point on demand.
        'df -l' triggered systemd to mount the file system because it called
        stat() on the mount point.
        Instead of single-casing "autofs" targets, we can avoid stat()ing
        all dummy file systems (which includes "autofs"), because those are
        skipped later on in get_dev() anyway.

        *src/df.c (filter_mount_list): Also skip dummy file systems unless
        the -a option or a specific target are given.
        * NEWS: Mention the fix.


        Fixes http://bugzilla.suse.com/show_bug.cgi?id=1043059

2017-08-29  Assaf Gordon  <[email protected]>

        doc: add 'realpath usage examples' section
        * doc/coreutils.texi (Realpath usage examples): New section.

2017-08-29  Assaf Gordon  <[email protected]>

        doc: fix realpath index entry
        The 'readlink' node has '@findex realpath' in it. This results in
            info doc/coreutils.info realpath
        incorrectly jumping to the 'readlink' node (instead of the 'realpath'
        node). Change it to @cindex instead.

        * doc/coreutils.texi (readlink): Change '@findex realpath' to @cindex.

2017-08-29  Assaf Gordon  <[email protected]>

        realpath: improve usage description for --relative-{to,base}
        * src/realpath.c (usage): Explicitly say 'DIR' instead of 'FILE' for
        --relative-{to,base} parameters, to avoid giving the impression
        that regular files can be used as relative base.
        * doc/coreutils.texi (realpath): Same.

2017-08-25  Pádraig Brady  <[email protected]>

        ls: consistently quote symlink targets
        * src/ls.c (gobble_file): Disable the optimization to avoid quoting
        if the symlink target itself needs quoting.  This was introduced
        with the quoting alignment adjustments in v8.25-106-g01971c0
        * tests/ls/symlink-quote.sh: Add a test.
        * tests/local.mk: Reference the test.
        * NEWS: Mention the fix.

2017-08-25  Pádraig Brady  <[email protected]>

        tail: reinstate inotify use with FIFOs
        commit v8.27-44-g18f6b22 was too aggressive in
        only allowing inotify use with regular files. This will
        support responsive processing of `tail -f fifo | ...`

        * src/tail.c (any_non_regular): Adjust to allow FIFOs
        since inotify supports these well.
        * tests/tail-2/inotify-only-regular.sh: Adjust comment.

2017-08-19  Pádraig Brady  <[email protected]>

        maint: avoid a syntax check failure
        * src/sort.c: Don't include stdio--.h as fopen() is no longer used.

        tests: fix issues on alpine linux
        * tests/misc/seq-epipe.sh: Remove stale comment.
        * tests/misc/sort-debug-warn.sh: musl doesn't indicate a set_locale()
        failure with missing locales, so avoid a test portion in that case.
        * tests/misc/wc-files0.sh: Avoid a bug on older ash implementations.
        Addresses http://bugs.gnu.org/28054

2017-08-17  Paul Eggert  <[email protected]>

        ptx: fix some integer overflow bugs
        Problem reported by Lukas Zachar at:
        http://bugzilla.redhat.com/1482445
        * src/ptx.c (line_width, gap_size, maximum_word_length)
        (reference_max_width, half_line_width, before_max_width)
        (keyafter_max_width, truncation_string_length, compare_words)
        (compare_occurs, search_table, find_occurs_in_text, print_spaces)
        (fix_output_parameters, define_all_fields):
        Use ptrdiff_t, not int, for object offsets and sizes.
        (WORD, OCCURS): Use ptrdiff_t, not short int.
        (WORD_TABLE, number_of_occurs, generate_all_output):
        Prefer ptrdiff_t to size_t where either will do.
        (total_line_count, file_line_count, OCCURS, fix_output_parameters)
        (define_all_fields):
        Use intmax_t, not int, for line counts.
        (DELTA): Remove.  All uses changed.
        (OCCURS, find_occurs_in_text, fix_output_parameters):
        Use int, not size_t, for file indexes.
        (tail_truncation, before_truncation, keyafter_truncation)
        (head_truncation, search_table, define_all_fields)
        (generate_all_output):
        Use bool for booleans.
        (digest_word_file, find_occurs_in_text):
        Use x2nrealloc instead of checking for overflow by hand.
        (find_occurs_in_text, fix_output_parameters, define_all_fields):
        Omit unnecessary cast.
        (fix_output_parameters): Don�<80><99>t assume integers fit in 11 digits.
        (fix_output_parameters, define_all_fields):
        Use sprintf return value rather than calling strlen.
        (define_all_fields): Do not rely on sprintf to generate a string
        that may contain more than INT_MAX bytes.
        (main): Use xstrtoimax, not xstrtoul.
        Use xnmalloc to catch integer overflow.

        nohup: simplify by using fcntl
        * src/nohup.c: Do not include cloexec.h.
        (main): Use fcntl rather than dup + set_cloexec_flag.

        sort: use pthread_sigmask, not sigprocmask
        POSIX says sigprocmask has unspecified behavior in a multithreaded
        program like �<80><98>sort�<80><99>.
        * src/sort.c (pthread_sigmask) [GNULIB_defined_pthread_functions]:
        New macro, for use when �<80><98>sort�<80><99> is not multithreaded.
        (cs_enter, cs_leave): Use it.  Pass address, not value, as
        this is typically a tad faster.  All callers changed.

        sort: minor cleanups
        * src/sort.c (move_fd): Rename from move_fd_or_die,
        since it no longer can die.

        sort: file descriptor discipline
        Use O_CLOEXEC when creating file descriptors, so that subsidiary
        processes do not inherit file descriptors that they do not need.
        This is helpful for �<80><98>sort�<80><99>, as it is a multithreaded program that
        forks and execs.
        * bootstrap.conf (gnulib_modules): Add mkostemp, open, pipe2.
        * src/sort.c (create_temp_file): Open temporary file with O_CLOEXEC.
        (stream_open): Open the stream with O_CLOEXEC.
        (pipe_fork): Create the pipe with O_CLOEXEC.
        (check_output): Open the output file with O_CLOEXEC.
        (main): Use xfopen/xfclose to handle --files0-from, so that
        O_CLOEXEC is used properly.  This is simpler anyway.
        * tests/misc/sort-files0-from.pl: Adjust to change in diagnostic
        wording.

        build: update gnulib submodule to latest

2017-08-14  Pádraig Brady  <[email protected]>

        kill: fix signal number to name lookup on AIX
        * src/operand2sig.c (operand2sig): AIX uses a different bit pattern
        in the returned status from the wait() functions and from shells.
        Therefore hardcode the selection of the lower bits of the number.
        * NEWS: Mention the fix.

        build: use the appropriate single file include option with xlc
        * configure.ac: Set USE_XLC_INCLUDE when __xlc__ is defined.
        * src/local.mk: Use it to select the appropriate include option.
        Reported by Michael Felt.

        tests: avoid false failures on AIX
        * tests/ln/sf-1.sh: Limit the symlink size to 1MiB
        to avoid memory exhaustion seen on NFS on AIX, giving:
          + printf '%0*d' 4294967296 0
          + ./tests/ln/sf-1.sh: line 38: printf: warning: 0: Result too large
        * tests/id/setgid.sh: Skip the test when the adjusted gid
        would equal 4294967295, as that's reserved on AIX.
        Reported by Michael Felt.

        sort: handle musl locale differences in --debug reporting
        * src/sort.c (main): Don't assume hard_LC_COLLATE implies
        a successful setting of the locale as musl defaults to
        UTF8 when failing to set the specified locale.
        * tests/misc/sort-debug-warn.sh: Adjust for the now
        separated locale debug info and map the musl specific
        message back to the common case.
        Addresses https://bugs.gnu.org/28054

        seq: produce consistent error messages upon write error
        * src/seq.c (io_error): Use the same error message as would
        be generated at exit time when closing the stdout stream.
        The inconsistency was added with commit v8.25-26-gc92585b.
        This was noticed due to an inconsistency in the expected
        error message generated by seq on musl libc.
        Addresses https://bugs.gnu.org/28054

        tests: fix false failure with large printf formats
        * tests/misc/printf-surprise.sh: With musl libc the
        large printf format does succeed, outputting data.
        To avoid SIGPIPE being generated we ignore that signal
        and then handle the subsequent EPIPE error.
        Addresses https://bugs.gnu.org/28054

2017-08-12  Jim Meyering  <[email protected]>

        build: adjust warning options to work with latest GCC
        * configure.ac: Disable some new warnings to avoid false positives.
        Building with warnings enabled and latest gcc would evoke build
        failure without these changes.  Disable the following in coreutils
        proper: -Wformat-overflow=2 -Wformat-truncation=2, and
        disable these for gnulib: -Wformat-truncation=2 -Wduplicated-branches

        gnulib: update to latest and adjust gl/modules/tempname.diff
        * gnulib: Update to latest.
        * gl/modules/tempname.diff: This patch failed to apply.
        Adjust it to reflect removal of the secure_getenv dependency.

        chroot: fix typo in preceding change: didn't compile
        * src/chroot.c (usage): Add backslashes.

2017-08-10  Jim Meyering  <[email protected]>

        doc: correct technicality in chroot's --help output
        * src/chroot.c (usage): Use correct quoting in descriptive diagnostic.
        We would run `"$SHELL" -i`, not `${SHELL} -i`.

2017-08-09  Assaf Gordon  <[email protected]>

        doc: fix join example
        * doc/coreutils.texi (join invocation): Fix incorrect output in example.
        Reported by Phlosioneer in https://bugs.gnu.org/28014 .

2017-08-04  Paul Eggert  <[email protected]>

        build: update gnulib submodule to latest

2017-08-03  Paul Eggert  <[email protected]>

        copy: more-accurate warning about destruction
        * src/copy.c (copy_internal):
        * tests/cp/backup-is-src.sh, tests/mv/backup-is-src.sh:
        Say "might destroy", not "would destroy".

2017-08-03  Pádraig Brady  <[email protected]>

        maint: avoid a syntax-check failure
        * src/shred.c (wipename): As per the comment, the arguments
        to error() are sufficiently quoted, so split the call over
        multiple lines to avoid the syntax-check.

2017-08-02  Paul Eggert  <[email protected]>

        build: update gnulib submodule to latest

2017-08-01  Paul Eggert  <[email protected]>

        copy: go back to failing 'cp --backup a~ a'
        Suggested by Kamil Dudka in:
        http://lists.gnu.org/archive/html/coreutils/2017-07/msg00072.html
        * NEWS: Document the changed nature of the fix.
        * doc/coreutils.texi, tests/cp/backup-is-src.sh:
        * tests/mv/backup-is-src.sh: Revert previous change.
        * src/copy.c (source_is_dst_backup): New function.
        (copy_internal): Use it.  Fail instead of falling back on numbered
        backups when it looks like the backup will overwrite the source.
        Although this reintroduces a race, it's more compatible with
        previous behavior.

2017-07-31  Paul Eggert  <[email protected]>

        copy: sanity-check --suffix
        * src/cp.c, src/install.c, src/ln.c, src/mv.c (main):
        Use set_simple_backup_suffix, to sanity-check the user-supplied
        backup suffix.

        copy: make backup files more reliably
        * NEWS, doc/coreutils.texi (Backup options): Document the change.
        * bootstrap.conf (gnulib_modules): Add backup-rename.
        * src/copy.c (copy_internal): Silently switch to numbered backups
        if a simple backup might lose data.  Use backup_file_rename
        to avoid races with numbered backups.
        * tests/cp/backup-is-src.sh, tests/mv/backup-is-src.sh:
        Adjust to match new behavior.

        shred: avoid rename race
        Use renameat2 to avoid a rename race condition, on recent-enough
        GNU/Linux.
        * bootstrap.conf (gnulib_modules): Add renameat2.
        * src/shred.c: Include renameat2.h.
        (wipename): Use renameat2 instead of rename.

        build: update gnulib submodule to latest

2017-07-25  Jim Meyering  <[email protected]>

        maint: fix grammar in a shred.c comment
        * src/shred.c: Remove spurious "to" in an old comment.

2017-07-23  Pádraig Brady  <[email protected]>

        maint: fix recent syntax-check failures
        * .gitignore: Add /lib/utime.h from the recent gnulib update.
        * src/nproc.c (usage): Adjust spacing to placate help2man.

        shred: remove redundant zeroing of freed memory
        * src/shred.c (dopass): shred used to read the input file,
        and so needed to ensure internal memory was cleared.
        This is no longer the case since SH-UTILS-1_16f-260-gf381610
        so avoid this redundant clearing.
        (do_wipefd): Likewise.
        * NEWS: Remove the recent mention of this issue.

        maint: resync with blake2 upstream
        * src/blake2/blake2-impl.h: Don't use the equivalent explicit_bzero().

        tests: avoid a false failure on AIX
        * tests/misc/sync.sh: Normalize the error messages
        when syncing a non read/write directory, as AIX
        gives the "Is a directory" error.
        Also ensure that sync(1) returns an error for this
        case on all systems.

2017-07-20  Paul Eggert  <[email protected]>

        shred: use explicit_bzero
        * NEWS: Document this.
        * bootstrap.conf (gnulib_modules): Add explicit_bzero.
        * gl/lib/randint.c (randint_free):
        * gl/lib/randread.c (randread_free):
        * src/blake2/blake2-impl.h (secure_zero_memory):
        * src/shred.c (dopass, do_wipefd):
        Prefer explicit_bzero to memset when erasing secrets.

        build: update gnulib submodule to latest

2017-07-10  Andreas Schwab  <[email protected]>

        nproc: fix indentation of usage output
        * src/nproc.c (usage): Align output.

2017-07-10  Jim Meyering  <[email protected]>

        groups: do not exit early
        Most programs take care to operate on all command-line-specified
        operands before exiting.  That is an important feature that allows
        to identify all problems with the first run.  However, groups would
        exit upon the first problematic user name.
        Bug introduced via commit v6.10-56-g167b8025ac.
        * src/groups.c (main): Do not exit immediately upon error.
        * tests/misc/groups-process-all.sh: New file. Test for this.
        * tests/local.mk (all_tests): Add it.
        * NEWS (Bug fixes): Mention this.

2017-07-08  Jim Meyering  <[email protected]>

        tests: groups-dash.sh: avoid false failure
        * tests/misc/groups-dash.sh: Avoid false failure on a system for which
        "none" is a valid user name.  The first invocation would succeed, and
        the second would fail with "groups: �<80><98>--�<80><99>: no such user".
        Use a user name that cannot exist.

        doc: tweak wording
        * NEWS (Bug fixes): Tweak wording of the mv/cp-vs-symlink-ownership
        entry and the one about df.

2017-06-28  Assaf Gordon  <[email protected]>

        expr: add multibyte support
        Discussed in https://bugs.gnu.org/26779 .

        * NEWS: Mention the improvement.
        * bootstrap.conf: Add gnulib modules mbslen,mbschr.
        * src/expr.c (mbs_logical_substr): New function to return a substring
        based on logical character positions (instead of bytes).
        (mbs_logical_cspn): Similar to strcspn/mbscspn, but returns number of
        logical characters instead of byte offset.
        (mbs_offset_to_chars): New function to return number of logical
        characters fitting in a given byte offset.
        (docolon): Report matched logical characters instead of bytes.
        (eval6): For length/substr/index operations, use logical characters
        instead of bytes by calling the above new functions.
        * tests/misc/expr.pl: Repeat all tests with non-C locale to detect any
        regressions.
        * tests/misc/expr-multibyte.pl: New tests with multibyte input.
        * tests/local.mk: Add new test file.

2017-06-21  Jim Meyering  <[email protected]>

        maint: avoid spurious "make distcheck" failure
        When the generated file, doc/constants.texi, happens to be older than
        doc/coreutils.info, it will not be updated until/unless its generated
        contents change.  This is due to way that rule is careful to update
        the file, to avoid provoking a pointless rerunning of makeinfo.

        Note that this does not happen when one first runs "make distclean",
        as recommended in README-release.  However, I sometimes run it as
        a more-rigorous "make check", and shouldn't have to manually run
        "make distclean" first, in that case.

        Before this change, one could reproduce the failure by running
        `touch -dyesterday doc/constants.texi && make distcheck`.  It would
        fail with "makeinfo: could not open ../../doc/coreutils.info-t
        for writing: Permission denied"
        * Makefile.am (dist-hook): Touch the two generated files, so that
        they cannot be out of date wrt doc/coreutils.texi.

2017-06-17  Pádraig Brady  <[email protected]>

        maint: use C99 for loop initial declarations where possible
        This results in a net reduction of about 120 lines.

        tail: only use inotify with regular files
        * src/tail.c (any_non_regular): A new function to check passed files.
        (main): Use the above to skip inotify if any non regular files passed
        like /dev/tty or /dev/ttyUSB0 etc.
        * tests/tail-2/inotify-only-regular.sh: A new test.
        * tests/local.mk: Reference the new test.
        * NEWS: Mention the bug fix.
        Fixes http://bugs.gnu.org/21265 and http://bugs.gnu.org/27368

        tail: with -f don't warn if doing a blocking read of a tty
        * src/tail.c: (main): Only issue the warning about -f being
        ineffective when we're not going into simple blocking mode.
        * tests/tail-2/follow-stdin.sh: Ensure the warning is output correctly.
        Fixes http://bugs.gnu.org/27368

2017-06-11  Pádraig Brady  <[email protected]>

        tail: exit promptly when output no longer writable
        This will support use cases like:

          tail -f file.log | grep -q trigger &&
          process_immediately

        * src/tail.c (check_output_alive): A new function that
        uses select on fifos or pipes to detect if they're broken.
        (tail_forever): Call check_output_alive() periodically.
        (tail_forever_inotify): Merge the select() call from
        check_output_alive() into the select() originally present
        for the --pid case, and adjust accordingly.
        * tests/tail-2/pipe-f.sh: Add test cases.
        * NEWS: Mention the improvement.

2017-06-11  Jim Meyering  <[email protected]>

        maint: update to work with GCC7's -Werror=implicit-fallthrough=5
        * src/system.h (FALLTHROUGH): Define.
        * src/cp.c (main): Use new FALLTHROUGH macro in place of comments.
        * src/basename.c (main): Likewise.
        * src/dircolors.c (append_quoted): Likewise.
        * src/echo.c (main): Likewise.
        * src/fold.c (main): Likewise.
        * src/join.c (main): Likewise.
        * src/kill.c (main): Likewise.
        * src/ls.c (get_funky_string, gobble_file): Likewise.
        * src/sort.c (parse_field_count, main): Likewise.
        * src/stat.c (print_it): Likewise.
        * src/tail.c (parse_obsolete_option): Likewise.
        * src/test.c (posixtest): Likewise.
        * src/wc.c (wc): Likewise.
        * src/who.c (main): Likewise.

2017-06-07  Pádraig Brady  <[email protected]>

        tail: with --pid, ensure all inotify events are processed
        * NEWS: Mention the bug fix.
        * src/tail.c (tail_forever_inotify): With --pid, avoid waiting
        for new events if there are still events to process.
        * tests/tail-2/inotify-dir-recreate.sh: Adjust to trigger.

        tests: fix issues with recently added tail test
        * tests/tail-2/inotify-dir-recreate.sh: Skip when
        inotify is not usable.  Also remove a bash specific &> construct.

2017-06-03  Pádraig Brady  <[email protected]>

        copy: don't fail when unable to chown symlinks
        * src/copy.c (copy_internal): Honor the x->require_preserve flag
        for symlinks as we do for ordinary files, so we don't exit with
        failure upon failure to chown a symbolic link.
        * NEWS: Mention the bug fix.

2017-05-29  Sebastian Kisela  <[email protected]>

        doc: mention `setpriv --no-new-privs` feature in runcon info
        * doc/coreutils.texi (runcon invocation): Mention setpriv usage.
        Discussed at https://bugzilla.redhat.com/1360903

2017-05-18  Pádraig Brady  <[email protected]>

        mv: distinguish copy and rename operations with --verbose
        * src/copy.c (copy_internal): In x->move_mode distinguish
        whether we're copying, creating directory, or renaming.
        * tests/mv/backup-dir.sh: Adjust to new output.
        * tests/mv/mv-n.sh: Likewise.
        * tests/mv/mv-special-1.sh: Likewise.
        * NEWS: Mention the improvement.
        Fixes http://bugs.gnu.org/26971

2017-05-11  Prateek saxena  <[email protected]>

        uptime: remove inconsistent AM/PM from current time
        * src/uptime.c (main): 00-23 was always used for the hour component
        of the current time, so remove the AM/PM output (which was only
        present in some locales anyway).  Also add seconds to the time
        to be more consistent with the usual procps-ng uptime implementation
        on GNU/Linux.
        * NEWS: Mention the fix.
        Fixes http://bugs.gnu.org/26783

2017-05-04  Pádraig Brady  <[email protected]>

        maint: fix various typos in recent commits
        * NEWS: Grammar fixes.
        * HACKING: Likewise.

2017-05-04  Jaak Ristioja  <[email protected]>

        doc: Fixed typo in timeout man page
        * man/timeout.x: Correct spelling of "currently".
        Fixes http://bugs.gnu.org/26762

2017-04-30  Pádraig Brady  <[email protected]>

        doc: update the instructions for generating a coverage report
        * HACKING: Change from explicit instructions to using gnulib
        provided coverage testing targets.  Also include instructions
        for adding root only tests to the report.
        Fixes http://bugs.gnu.org/26709

2017-04-27  Paul Eggert  <[email protected]>

        dd: simplify translator�<80><99>s jobs
        * src/dd.c (print_xfer_stats): Format the SI units directly,
        without translating them, to simplify the translators�<80><99> jobs.
        See Bug#26621.

2017-04-27  Pádraig Brady  <[email protected]>

        date,touch: test and document large TZ security issue
        Add a test for CVE-2017-7476 which was fixed in gnulib at:
        http://git.sv.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=94e01571

        * tests/misc/date-tz.sh: Add a new test which overwrites enough
        of the heap to trigger a segfault, even without ASAN enabled.
        * tests/local.mk: Reference the new test.
        * NEWS: Mention the bug fix.

2017-04-27  Pádraig Brady  <[email protected]>

        build: update gnulib submodule to latest
        * .gitignore: Add new entry as indicated by `make syntax-check`.

2017-04-24  Paul Eggert  <[email protected]>

        dd: status=progress outputs "6 s", not "6.00001 s"
        Problem reported by Benno Schulenberg (Bug#26621).
        * NEWS: Document this.
        * src/dd.c (print_xfer_stats): With status=progress,
        format times with %.0f rather than %g.  Improve
        translator comments.

2017-04-22  Paul Eggert  <[email protected]>

        build: update gnulib submodule to latest

        maint: remove unused functions and constants
        These were found by clang.
        * gl/lib/rand-isaac.c (min):
        * gl/lib/randint.c (shift_right):
        * src/md5sum.c (algorithm):
        Remove; unused.

        date: adjust to gnulib parse-datetime changes
        * doc/coreutils.texi (Options for date): Capitalize a sentence.
        * tests/misc/date-debug.sh: Adjust --debug output to match
        recent changes to Gnulib�<80><99>s parse-datetime module.

        build: update gnulib submodule to latest
        * gl/modules/tempname.diff: Update to match current Gnulib.

2017-04-18  Bogdan Drozdowski  <[email protected]>

        shred: fix invalid pattern generation for certain sizes
        * src/shred.c (fillpattern): Fix the "off by one" issue when
        testing whether we have enough space to copy the already
        written portion of the buffer to the remainder of the buffer.
        Specifically for buffer sizes that are (3*(2^x))+1, i.e. 7,13,...
        we both use an uninitialized byte and invoke undefined
        behavior in memcpy() operation on overlapping memory regions.
        * tests/misc/shred-passes.sh: Add an invocation that will
        trigger either valgrind UMR, or ASAN like:
          ERROR: AddressSanitizer: memcpy-param-overlap: memory ranges
          #1 0x403065 in fillpattern src/shred.c:293
        A direct test is awkward due to the random writes surrounding
        the problematic pattern writes.
        Fixes http://bugs.gnu.org/26545

2017-04-17  Bo Rydberg  <[email protected]>

        doc: fix awk example for getting penultimate field
        * doc/coreutils.texi (cut invocation): Add required brackets.
        Fixes http://bugs.gnu.org/26519

2017-04-06  Sebastian Kisela  <[email protected]>

        tail: revert to polling if a followed directory is replaced
        * src/tail.c (tail_forever_inotify): Add the IN_DELETE_SELF flag when
        creating watch for the parent directory.  After the parent directory
        is removed, an event is caught and then we switch from inotify to
        polling mode.  Till now, inotify has always frozen because it waited for
        an event from a watched dir, which has been already deleted and was not
        added again.
        * tests/tail-2/inotify-dir-recreate.sh: Add a test case.
        * tests/local.mk: Reference the new test.
        * NEWS: Mention the bug fix.
        Fixes http://bugs.gnu.org/26363
        Reported at https://bugzilla.redhat.com/1283760

2017-04-06  Pádraig Brady  <[email protected]>

        maint: fix syntax-check issues in previous tty commit
        * src/tty.c: Avoid EXIT_FAILURE to be more descriptive
        and to placate sc_some_programs_must_avoid_exit_failure.

2017-04-05  Paul Eggert  <[email protected]>

        tty: handle misconfigured namespaces
        On some platforms, isatty succeeds but ttyname fails.
        POSIX does not seem to allow this, but there it is.
        Problem reported by Christian Brauner (Bug#26371).
        While we�<80><99>re at it, check for errors more carefully and return a
        new exit status 4 if stdin is closed or a similar error occurs.
        * doc/coreutils.texi (tty invocation): Document new behavior.
        * init.cfg (stderr_fileno_):
        Don't assume have_input_tty is not in the environment.
        * src/tty.c (TTY_STDIN_ERROR): New constant.
        (main): Exit with nonzero status if there is a usage error,
        like other coreutils programs.
        Check for error in getting stdin type.
        * tests/misc/tty.sh: New file.
        * tests/local.mk (all_tests): Add it.

2017-04-03  Pádraig Brady  <[email protected]>

        doc: refactor and update expand and unexpand --help
        * src/expand-common.c (emit_tab_list_info): A new function to
        output the extended info on --tab=LIST, including the new
        '+' and '/' prefixes.
        * src/expand-common.h: Declare the above.
        * src/expand.c (usage:): Call emit_tab_list_info and
        match alignment with that used in unexpand --help.
        * src/unexpand.c (usage): Likewise.

2017-04-03  Jacob Keller  <[email protected]>

        expand,unexpand: add support for incremental tab stops
        Support --tabs="1,+8" which is equivalent to --tabs="1,9,17,..."
        useful for viewing unified diff output with its 1 character
        gutter for example.

        * doc/coreutils.texi ({expand,unexpand} invocation): Document,
        using diff processing as the example.
        * src/expand-common.c (set_increment_size): Update the new
        increment_size global.
        (parse_tab_stops): Handle the new '+' prefix.
        (finalize_tab_stops): Verify both '+' and '/' prefixes
        are not used together.
        * tests/misc/expand.pl: Add test cases.
        * NEWS: Mention the new feature.

2017-03-30  Paul Eggert  <[email protected]>

        sort: update comment
        * src/sort.c: Update identifiers in comment.

2017-03-30  Chris Davies  <[email protected]>

        doc: clarify in dd man page that bs= overrides [io]b…
  • Loading branch information
wen committed May 9, 2018
1 parent 50be3dc commit 6094c01
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 11 deletions.
4 changes: 2 additions & 2 deletions sysutils/coreutils/Makefile.common
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# $NetBSD: Makefile.common,v 1.17 2018/01/16 10:10:00 jperkin Exp $
# $NetBSD: Makefile.common,v 1.18 2018/05/09 08:41:19 wen Exp $
#
# used by sysutils/coreutils/Makefile
# used by misc/gnuls/Makefile

DISTNAME= coreutils-8.26
DISTNAME= coreutils-8.29
CATEGORIES= sysutils
MASTER_SITES= ${MASTER_SITE_GNU:=coreutils/}
EXTRACT_SUFX= .tar.xz
Expand Down
12 changes: 6 additions & 6 deletions sysutils/coreutils/distinfo
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
$NetBSD: distinfo,v 1.34 2017/01/18 21:10:42 wiz Exp $
$NetBSD: distinfo,v 1.35 2018/05/09 08:41:19 wen Exp $

SHA1 (coreutils-8.26.tar.xz) = d6268b2495c52d7a0ecc6156e36e0eca16e601ea
RMD160 (coreutils-8.26.tar.xz) = 54fb9280a4629ef300c7b9b66eee970a9d3d29ef
SHA512 (coreutils-8.26.tar.xz) = 1ca7b32a1564855e672f64cb815f858619dd4308af1c9763959d06fab1ecd51385c4c61d987ceec7ff6baaaac699f2db10be4be7e40b2c6a6d4ffc3911180b03
Size (coreutils-8.26.tar.xz) = 5810244 bytes
SHA1 (coreutils-8.29.tar.xz) = 63d522f430f0f9fceca71e4b52b414999531915c
RMD160 (coreutils-8.29.tar.xz) = 7c2a35e576358c7e8c3685ac83e83729166b7ca1
SHA512 (coreutils-8.29.tar.xz) = 546bbcd5741beae7a68e7c4ca14d6d634f7c8be87feecdeddd00e226f4865bb89d503437c3a95622ba7bb0cb70addbb5bdf3767fa18d0b7410ab90ee53b29dfd
Size (coreutils-8.29.tar.xz) = 5286588 bytes
SHA1 (patch-Makefile.in) = fce694c56777081a6a54d157dd0573945250f381
SHA1 (patch-lib-fflush.c) = adfd2c0da90c63e082d4f6bf3938f63a6260d018
SHA1 (patch-lib_fflush.c) = d39c373d41769a54cf820296f9a0c25ce8f36057
SHA1 (patch-lib_string.in.h) = 4fcd9c511eed2bb476db0d7bb8cceba03c1da180
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
$NetBSD: patch-lib-fflush.c,v 1.3 2016/01/31 09:20:51 ryoon Exp $
$NetBSD: patch-lib_fflush.c,v 1.1 2018/05/09 08:41:19 wen Exp $

--- lib/fflush.c.orig 2016-01-01 13:45:55.000000000 +0000
--- lib/fflush.c.orig 2018-05-09 07:57:42.000000000 +0000
+++ lib/fflush.c
@@ -99,7 +99,7 @@ update_fpos_cache (FILE *fp _GL_UNUSED_P
{
# if defined __sferror || defined __DragonFly__ || defined __ANDROID__
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
-# if defined __CYGWIN__
+# if defined(__CYGWIN__) || defined(__NetBSD__)
/* fp_->_offset is typed as an integer. */
Expand Down

0 comments on commit 6094c01

Please sign in to comment.