mirror of
https://git.savannah.gnu.org/git/coreutils.git
synced 2025-09-10 07:59:52 +02:00
Compare commits
133 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
53793cd35f | ||
|
|
89f7fcd055 | ||
|
|
3246bc08a6 | ||
|
|
68cf7ad5ad | ||
|
|
1755ffb7b6 | ||
|
|
a68efd1283 | ||
|
|
4b7595d751 | ||
|
|
d542945c3a | ||
|
|
6d6095f33a | ||
|
|
91d78a570f | ||
|
|
3e5dcddba7 | ||
|
|
2ed7c28679 | ||
|
|
932ec637a6 | ||
|
|
da07736952 | ||
|
|
07df260421 | ||
|
|
5fb8eb091f | ||
|
|
cb1f253e63 | ||
|
|
ac7bd90cee | ||
|
|
c932e5c9ec | ||
|
|
163df41d45 | ||
|
|
668306ed86 | ||
|
|
a0118a71bb | ||
|
|
068b46e73b | ||
|
|
24053fbd8f | ||
|
|
c744c65f50 | ||
|
|
77517a9917 | ||
|
|
21682faa5e | ||
|
|
de73c801f3 | ||
|
|
5e7b8928b7 | ||
|
|
c8eb21c9c0 | ||
|
|
fb1ca34140 | ||
|
|
c732388fa1 | ||
|
|
d3daa95096 | ||
|
|
a391007511 | ||
|
|
694d10b71e | ||
|
|
a5d158ab8f | ||
|
|
f6cb50cc99 | ||
|
|
ea7ae28b10 | ||
|
|
3299901cde | ||
|
|
9781fcd532 | ||
|
|
e0566c5fea | ||
|
|
ad9b283247 | ||
|
|
22424dde74 | ||
|
|
3968f28dfd | ||
|
|
e6017741e9 | ||
|
|
a8a52e2f05 | ||
|
|
d1a754c827 | ||
|
|
30e91a10ea | ||
|
|
8d6acfd853 | ||
|
|
49b126bfc5 | ||
|
|
5ed2018360 | ||
|
|
0753c3f6dc | ||
|
|
b1fa4aa63c | ||
|
|
2eaf3a14a5 | ||
|
|
1f52607fc3 | ||
|
|
0a85449dde | ||
|
|
33f17ab9db | ||
|
|
4bc50727f0 | ||
|
|
bedd9bb652 | ||
|
|
29baf25aa0 | ||
|
|
bc2fd97964 | ||
|
|
b88f8d1101 | ||
|
|
7e244891b0 | ||
|
|
3f9b1b86b1 | ||
|
|
7597cfa482 | ||
|
|
bd4dd61a17 | ||
|
|
ece7157933 | ||
|
|
1d7db19cba | ||
|
|
27b2b19aa8 | ||
|
|
8992dfa54c | ||
|
|
f4fec33607 | ||
|
|
ba4b0bde2e | ||
|
|
70c84e046e | ||
|
|
6821f2fb4e | ||
|
|
9f8b16e992 | ||
|
|
47fb363432 | ||
|
|
177f131385 | ||
|
|
a1300c60ef | ||
|
|
36325c7f03 | ||
|
|
108f34a71b | ||
|
|
a58ce6f023 | ||
|
|
e44df9d3f5 | ||
|
|
8fb32039bc | ||
|
|
b697bac049 | ||
|
|
532b4285de | ||
|
|
6150b10698 | ||
|
|
f17c1df391 | ||
|
|
e184a46e39 | ||
|
|
166fe58561 | ||
|
|
052cce9e3e | ||
|
|
ba9c7449b9 | ||
|
|
5782a362e1 | ||
|
|
b505dc5734 | ||
|
|
b5d6f66b60 | ||
|
|
346de3c1e1 | ||
|
|
a72abc9304 | ||
|
|
5f02cddc18 | ||
|
|
559c7a57c7 | ||
|
|
31dd7a0de2 | ||
|
|
25030d942d | ||
|
|
60e77fa49a | ||
|
|
a4eedb251e | ||
|
|
95bfb36292 | ||
|
|
9d88182ce1 | ||
|
|
aebefc25f9 | ||
|
|
e83f10c483 | ||
|
|
ada1caedd5 | ||
|
|
5ab71e4d3f | ||
|
|
b04ce61958 | ||
|
|
f89c20bdf7 | ||
|
|
61a8b5cb56 | ||
|
|
e818f19cf8 | ||
|
|
de15a497d1 | ||
|
|
9fa178fccd | ||
|
|
84f7231dfa | ||
|
|
cc19f63be3 | ||
|
|
f926f7ce0e | ||
|
|
cbf35912da | ||
|
|
cccd01b4da | ||
|
|
856b828320 | ||
|
|
6774b991db | ||
|
|
4b8c92b940 | ||
|
|
63d2f05f52 | ||
|
|
3a3f5f359e | ||
|
|
454d7f31c5 | ||
|
|
a608f1e781 | ||
|
|
0be99382d9 | ||
|
|
c34f8d5c78 | ||
|
|
4cb3f4faa4 | ||
|
|
be87d61299 | ||
|
|
44ccd1c465 | ||
|
|
97c5045435 | ||
|
|
5d9d07bbb1 |
85
.github/ISSUE_TEMPLATE.txt
vendored
Normal file
85
.github/ISSUE_TEMPLATE.txt
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
Please **do not** send pull-requests or open new issues on Github.
|
||||
|
||||
Github is a downstream mirror and is not frequently monitored,
|
||||
all development is coordinated upstream on GNU resources.
|
||||
|
||||
* Send general questions or suggestions to: coreutils@gnu.org .
|
||||
* Send bugs reports to: bug-coreutils@gnu.org .
|
||||
|
||||
## Bug reports
|
||||
|
||||
Before reporting a new bug, please check the following resources:
|
||||
|
||||
* Coreutils FAQ: https://www.gnu.org/software/coreutils/faq/coreutils-faq.html
|
||||
|
||||
* Coreutils Gotchas: https://www.pixelbeat.org/docs/coreutils-gotchas.html
|
||||
contains a list of some quirks and unexpected behaviour (which are often
|
||||
mistaken for bugs).
|
||||
|
||||
* Online Manual:
|
||||
https://www.gnu.org/software/coreutils/manual/html_node/index.html
|
||||
|
||||
* Search the archives for previous questions and answers:
|
||||
|
||||
* Coreutils Mailing list (General usage and advice):
|
||||
https://lists.gnu.org/archive/html/coreutils/
|
||||
|
||||
* Bug reports Mailing List:
|
||||
https://lists.gnu.org/archive/html/bug-coreutils/
|
||||
|
||||
* Open Bugs:
|
||||
https://debbugs.gnu.org/cgi/pkgreport.cgi?which=pkg&data=coreutils
|
||||
|
||||
* Translation related issues:
|
||||
https://translationproject.org/domain/coreutils.html
|
||||
|
||||
|
||||
## Effective bug reports
|
||||
|
||||
* Include a descriptive subject line (e.g. the program with which
|
||||
you experience a problem, and what the problem is).
|
||||
* Include the version of the program (e.g. the output of `PROG --version`).
|
||||
* Include the operating system and the type of hardware you are using
|
||||
(e.g. the output of `uname -a`).
|
||||
* Include the exact command and parameters you have used.
|
||||
* Clearly explain what is the output you expected to get, and what is
|
||||
the actual result you encountered.
|
||||
* Include as much information as possible to reproduce the problem.
|
||||
If the problem happens on a very large input file, try to provide
|
||||
a minimal example (a subset of the input file) that still causes the problem.
|
||||
*Do not* include attachments over 40kB.
|
||||
* List policy is reply-to-all, and non-subscribers may post.
|
||||
* There may be a moderation delay for a first-time post, whether or not
|
||||
you subscribe.
|
||||
|
||||
|
||||
## Mailing List Etiquette
|
||||
|
||||
When sending messages to coreutils@gnu.org or bug-coreutils@gnu.org :
|
||||
|
||||
* Send messages as plain text.
|
||||
* Do not send messages encoded as HTML nor encoded as base64 MIME nor
|
||||
included as multiple formats.
|
||||
* Avoid sending large messages, such as log files, system call trace
|
||||
output, and other content resulting in messages over about 40 kB.
|
||||
* Avoid sending screenshots (e.g. PNG files). When reporting errors
|
||||
you encounter on the terminal, copy and paste the text to your message.
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
Copyright (C) 2017-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
105
.github/PULL_REQUEST_TEMPLATE.txt
vendored
Normal file
105
.github/PULL_REQUEST_TEMPLATE.txt
vendored
Normal file
@@ -0,0 +1,105 @@
|
||||
Please *do not* send pull-requests or open new issues on Github.
|
||||
See "hacking resources" below for recommended alternatives.
|
||||
|
||||
Github is a downstream mirror and is not frequently monitored,
|
||||
all development is coordinated upstream on GNU resources.
|
||||
|
||||
* Send general questions or suggestions to: coreutils@gnu.org .
|
||||
* Send bugs reports to: <bug-coreutils@gnu.org>
|
||||
|
||||
Before sending the bug, please consult the FAQ and Mailing list
|
||||
archives (see below). Often these perceived bugs are simply due to
|
||||
wrong program usage.
|
||||
|
||||
Please remember that development of Coreutils is a volunteer effort,
|
||||
and you can also contribute to its development. For information about
|
||||
contributing to the GNU Project, please read
|
||||
[How to help GNU](https://www.gnu.org/help/].
|
||||
|
||||
|
||||
## Getting Help
|
||||
|
||||
* Coreutils FAQ: https://www.gnu.org/software/coreutils/faq/coreutils-faq.html
|
||||
|
||||
* Coreutils Gotchas: https://www.pixelbeat.org/docs/coreutils-gotchas.html
|
||||
contains a list of some quirks and unexpected behaviour (which are often
|
||||
mistaken for bugs).
|
||||
|
||||
* Online Manual:
|
||||
https://www.gnu.org/software/coreutils/manual/html_node/index.html
|
||||
|
||||
* Search the archives for previous questions and answers:
|
||||
|
||||
* Coreutils Mailing list (General usage and advice):
|
||||
https://lists.gnu.org/archive/html/coreutils/
|
||||
|
||||
* Bug reports Mailing List:
|
||||
https://lists.gnu.org/archive/html/bug-coreutils/
|
||||
|
||||
* Open Bugs: https://debbugs.gnu.org/cgi/pkgreport.cgi?which=pkg&data=coreutils
|
||||
|
||||
* Translation related issues:
|
||||
https://translationproject.org/domain/coreutils.html
|
||||
|
||||
|
||||
## Mailing List Etiquette
|
||||
|
||||
When sending messages to coreutils@gnu.org or bug-coreutils@gnu.org :
|
||||
|
||||
* Send messages as plain text.
|
||||
* Do not send messages encoded as HTML nor encoded as base64 MIME nor
|
||||
included as multiple formats.
|
||||
* Include a descriptive subject line.
|
||||
* Avoid sending large messages, such as log files, system call trace
|
||||
output, and other content resulting in messages over about 40 kB.
|
||||
* Avoid sending screenshots (e.g. PNG files). When reporting errors
|
||||
you encounter on the terminal, copy and paste the text to your message.
|
||||
* List policy is reply-to-all, and non-subscribers may post.
|
||||
* There may be a moderation delay for a first-time post, whether or not
|
||||
you subscribe.
|
||||
|
||||
|
||||
## Hacking resources
|
||||
|
||||
files contain information about hacking and contributing to GNU coreutils:
|
||||
https://git.savannah.gnu.org/cgit/coreutils.git/tree/HACKING
|
||||
https://git.savannah.gnu.org/cgit/coreutils.git/tree/README-hacking
|
||||
Please read them first.
|
||||
|
||||
Before suggesting a new feature, read the list of rejected features requests:
|
||||
https://www.gnu.org/software/coreutils/rejected_requests.html
|
||||
|
||||
Send a patch as an email attachment. Patches can be generated with
|
||||
`git format-patch` (the HACKING links above provide examples of generating
|
||||
a patch).
|
||||
|
||||
|
||||
## Copyright Assignment
|
||||
|
||||
If your change is significant (i.e., if it adds more than ~10 lines),
|
||||
then you'll have to have a copyright assignment on file with the FSF.
|
||||
To learn more see https://www.gnu.org/licenses/why-assign.html .
|
||||
|
||||
The HACKING file (above) contains more details about how to initial
|
||||
the copyright assignment process. Coreutils maintainers can also help
|
||||
in this matter.
|
||||
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
Copyright (C) 2017-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
9
.gitignore
vendored
9
.gitignore
vendored
@@ -40,11 +40,15 @@
|
||||
/coreutils-*.tar.xz
|
||||
/coreutils-*.tar.xz.sig
|
||||
/doc/manual
|
||||
/doc/coverage
|
||||
/gnulib-tests
|
||||
/lib/.dirstamp
|
||||
/lib/.gitignore
|
||||
/lib/alloca.h
|
||||
/lib/arg-nonnull.h
|
||||
/lib/arpa/inet.h
|
||||
/lib/byteswap.h
|
||||
/lib/c++defs.h
|
||||
/lib/charset.alias
|
||||
/lib/config.h
|
||||
/lib/config.hin
|
||||
@@ -103,7 +107,9 @@
|
||||
/lib/unitypes.h
|
||||
/lib/uniwidth
|
||||
/lib/uniwidth.h
|
||||
/lib/unused-parameter.h
|
||||
/lib/utime.h
|
||||
/lib/warn-on-use.h
|
||||
/lib/wchar.h
|
||||
/lib/wctype.h
|
||||
/m4/.cvsignore
|
||||
@@ -169,6 +175,9 @@
|
||||
/src/coreutils_shebangs
|
||||
/src/cu-progs.mk
|
||||
/src/fs-latest-magic.h
|
||||
/src/fs-def
|
||||
/src/fs-kernel-magic
|
||||
/src/fs-magic
|
||||
/src/libsinglebin_*.a
|
||||
/src/make-prime-list
|
||||
/src/primes.h
|
||||
|
||||
1
.mailmap
1
.mailmap
@@ -28,6 +28,7 @@ Pádraig Brady <P@draigBrady.com>
|
||||
<stephane.raimbault@gmail.com> <stephane.raimbault@makina-corpus.com>
|
||||
<jarkko.sakkinen@iki.fi> <jarkko.sakkinen@linux.intel.com>
|
||||
<tobias@stoeckmann.org> <tobias@bugol.de>
|
||||
<cjwatson@debian.org> <cjwatson@ubuntu.com>
|
||||
|
||||
# Prefer spelled-out middle name and its address.
|
||||
Arne Henrik Juul <arnej@imf.unit.no> Arne H. Juul <arnej@solan.unit.no>
|
||||
|
||||
@@ -1 +1 @@
|
||||
8.27
|
||||
8.29
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Suppress valgrind diagnostics we don't care about.
|
||||
|
||||
# Copyright (C) 2003-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2003-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
{
|
||||
libc_dl_open
|
||||
|
||||
2
AUTHORS
2
AUTHORS
@@ -26,7 +26,7 @@ dircolors: H. Peter Anvin
|
||||
dirname: David MacKenzie, Jim Meyering
|
||||
du: Torbjorn Granlund, David MacKenzie, Paul Eggert, Jim Meyering
|
||||
echo: Brian Fox, Chet Ramey
|
||||
env: Richard Mlynarik, David MacKenzie
|
||||
env: Richard Mlynarik, David MacKenzie, Assaf Gordon
|
||||
expand: David MacKenzie
|
||||
expr: Mike Parker, James Youngman, Paul Eggert
|
||||
factor: Paul Rubin, Torbjörn Granlund, Niels Möller
|
||||
|
||||
2
HACKING
2
HACKING
@@ -617,7 +617,7 @@ and root only tests, is to follow these steps (requires lcov to be installed):
|
||||
xdg-open doc/coverage/index.html
|
||||
|
||||
========================================================================
|
||||
Copyright (C) 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2009-2018 Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Make coreutils. -*-Makefile-*-
|
||||
|
||||
# Copyright (C) 1990-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1990-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
ALL_RECURSIVE_TARGETS =
|
||||
|
||||
@@ -93,7 +93,7 @@ dist-hook: gen-ChangeLog
|
||||
$(AM_V_at)touch $(distdir)/doc/constants.texi \
|
||||
$(distdir)/doc/coreutils.info
|
||||
|
||||
gen_start_ver = 8.18
|
||||
gen_start_ver = 8.20
|
||||
.PHONY: gen-ChangeLog
|
||||
gen-ChangeLog:
|
||||
$(AM_V_GEN)if test -d .git; then \
|
||||
@@ -120,7 +120,7 @@ THANKS-to-translators: po/LINGUAS THANKStt.in
|
||||
$(AM_V_GEN)( \
|
||||
cat $(srcdir)/THANKStt.in; \
|
||||
for lang in `cat $(srcdir)/po/LINGUAS`; do \
|
||||
echo http://translationproject.org/team/$$lang.html; \
|
||||
echo https://translationproject.org/team/$$lang.html; \
|
||||
done; \
|
||||
) > $@-tmp && mv $@-tmp $@
|
||||
|
||||
|
||||
157
NEWS
157
NEWS
@@ -1,5 +1,140 @@
|
||||
GNU coreutils NEWS -*- outline -*-
|
||||
|
||||
* Noteworthy changes in release 8.30 (2018-07-01) [stable]
|
||||
|
||||
** Bug fixes
|
||||
|
||||
'cp --symlink SRC DST' will again correctly validate DST.
|
||||
If DST is a regular file and SRC is a symlink to DST,
|
||||
then cp will no longer allow that operation to clobber DST.
|
||||
Also with -d, if DST is a symlink, then it can always be replaced,
|
||||
even if it points to SRC on a separate device.
|
||||
[bugs introduced with coreutils-8.27]
|
||||
|
||||
'cp -n -u' and 'mv -n -u' now consistently ignore the -u option.
|
||||
Previously, this option combination suffered from race conditions
|
||||
that caused -u to sometimes override -n.
|
||||
[bug introduced with coreutils-7.1]
|
||||
|
||||
'cp -a --no-preserve=mode' now sets appropriate default permissions
|
||||
for non regular files like fifos and character device nodes etc.,
|
||||
and leaves mode bits of existing files unchanged.
|
||||
Previously it would have set executable bits on created special files,
|
||||
and set mode bits for existing files as if they had been created.
|
||||
[bug introduced with coreutils-8.20]
|
||||
|
||||
'cp --remove-destination file symlink' now removes the symlink
|
||||
even if it can't be traversed.
|
||||
[bug introduced with --remove-destination in fileutils-4.1.1]
|
||||
|
||||
ls no longer truncates the abbreviated month names that have a
|
||||
display width between 6 and 12 inclusive. Previously this would have
|
||||
output ambiguous months for Arabic or Catalan locales.
|
||||
|
||||
'ls -aA' is now equivalent to 'ls -A', since -A now overrides -a.
|
||||
[bug introduced in coreutils-5.3.0]
|
||||
|
||||
'mv -n A B' no longer suffers from a race condition that can
|
||||
overwrite a simultaneously-created B. This bug fix requires
|
||||
platform support for the renameat2 or renameatx_np syscalls, found
|
||||
in recent Linux and macOS kernels. As a side effect, ‘mv -n A A’
|
||||
now silently does nothing if A exists.
|
||||
[bug introduced with coreutils-7.1]
|
||||
|
||||
** Changes in behavior
|
||||
|
||||
'cp --force file symlink' now removes the symlink even if
|
||||
it is self referential.
|
||||
|
||||
ls --color now matches file extensions case insensitively.
|
||||
|
||||
** New features
|
||||
|
||||
cp --reflink now supports --reflink=never to enforce a standard copy.
|
||||
|
||||
env supports a new -v/--debug option to show verbose information about
|
||||
each processing step.
|
||||
|
||||
env supports a new -S/--split-string=S option to split a single argument
|
||||
string into multiple arguments. Used to pass multiple arguments in scripts
|
||||
(shebang lines).
|
||||
|
||||
md5sum accepts a new option: --zero (-z) to delimit the output lines with a
|
||||
NUL instead of a newline character. This also disables file name escaping.
|
||||
This also applies to sha*sum and b2sum.
|
||||
|
||||
rm --preserve-root now supports the --preserve-root=all option to
|
||||
reject any command line argument that is mounted to a separate file system.
|
||||
|
||||
** Improvements
|
||||
|
||||
cut supports line lengths up to the max file size on 32 bit systems.
|
||||
Previously only offsets up to SIZE_MAX-1 were supported.
|
||||
|
||||
stat and tail now know about the "exfs" file system, which is a
|
||||
version of XFS. stat -f --format=%T now reports the file system type,
|
||||
and tail -f uses inotify.
|
||||
|
||||
wc avoids redundant processing of ASCII text in multibyte locales,
|
||||
which is especially significant on macOS.
|
||||
|
||||
|
||||
* Noteworthy changes in release 8.29 (2017-12-27) [stable]
|
||||
|
||||
** Bug fixes
|
||||
|
||||
b2sum no longer crashes when processing certain truncated check files.
|
||||
[bug introduced with b2sum coreutils-8.26]
|
||||
|
||||
dd now ensures the correct cache ranges are specified for the "nocache"
|
||||
and "direct" flags. Previously some pages in the page cache were not
|
||||
invalidated. [bug introduced for "direct" in coreutils-7.5,
|
||||
and with the "nocache" implementation in coreutils-8.11]
|
||||
|
||||
df no longer hangs when given a fifo argument.
|
||||
[bug introduced in coreutils-7.3]
|
||||
|
||||
ptx -S no longer infloops for a pattern which returns zero-length matches.
|
||||
[the bug dates back to the initial implementation]
|
||||
|
||||
shred --remove will again repeatedly rename files with shortening names
|
||||
to attempt to hide the original length of the file name.
|
||||
[bug introduced in coreutils-8.28]
|
||||
|
||||
stty no longer crashes when processing settings with -F also specified.
|
||||
[bug introduced in fileutils-4.0]
|
||||
|
||||
tail --bytes again supports non seekable inputs on all systems.
|
||||
On systems like android it always tried to process as seekable inputs.
|
||||
[bug introduced in coreutils-8.24]
|
||||
|
||||
timeout will again notice its managed command exiting, even when
|
||||
invoked with blocked CHLD signal, or in a narrow window where
|
||||
this CHLD signal from the exiting child was missed. In each case
|
||||
timeout would have then waited for the time limit to expire.
|
||||
[bug introduced in coreutils-8.27]
|
||||
|
||||
** New features
|
||||
|
||||
timeout now supports the --verbose option to diagnose forced termination.
|
||||
|
||||
** Improvements
|
||||
|
||||
dd now supports iflag=direct with arbitrary sized files on all file systems.
|
||||
|
||||
tail --bytes=NUM will efficiently seek to the end of block devices,
|
||||
rather than reading from the start.
|
||||
|
||||
Utilities which do not support long options (other than the default --help
|
||||
and --version), e.g. cksum and sleep, now use more consistent error diagnostic
|
||||
for unknown long options.
|
||||
|
||||
** Build-related
|
||||
|
||||
Default man pages are now distributed which are used if perl is
|
||||
not available on the build system, or when cross compiling.
|
||||
|
||||
|
||||
* Noteworthy changes in release 8.28 (2017-09-01) [stable]
|
||||
|
||||
** Bug fixes
|
||||
@@ -96,6 +231,13 @@ GNU coreutils NEWS -*- outline -*-
|
||||
|
||||
expr supports multibyte strings for all string operations.
|
||||
|
||||
** Changes in behavior
|
||||
|
||||
tail -f now exits immediately if the output is piped and the reader of
|
||||
the pipe terminates. That allows `tail -f file | grep -q foo` to return
|
||||
responsively, but does make `tail -f file | :` exit immediately without
|
||||
waiting for data. Instead one should now `tail -f file | grep -q .`
|
||||
|
||||
** Improvements
|
||||
|
||||
mv --verbose now distinguishes rename and copy operations.
|
||||
@@ -103,9 +245,6 @@ GNU coreutils NEWS -*- outline -*-
|
||||
stat -f -c %l, used to output the max file name length on a file system,
|
||||
is now supported on FreeBSD and OpenBSD.
|
||||
|
||||
tail -f now exits immediately if the output is piped
|
||||
and the reader of the pipe terminates.
|
||||
|
||||
tail -f no longer erroneously warns about being ineffective
|
||||
when following a single tty, as the simple blocking loop used
|
||||
is effective in this case.
|
||||
@@ -1687,7 +1826,9 @@ GNU coreutils NEWS -*- outline -*-
|
||||
|
||||
** New features
|
||||
|
||||
split accepts the --number option to generate a specific number of files.
|
||||
split accepts the --number/-n option to generate a specific number of
|
||||
files, as well as the --elide-empty-files/-e and --unbuffered/-u
|
||||
options to fine-tune the resulting output.
|
||||
|
||||
|
||||
* Noteworthy changes in release 8.7 (2010-11-13) [stable]
|
||||
@@ -3582,7 +3723,7 @@ GNU coreutils NEWS -*- outline -*-
|
||||
These changes are in response to decisions taken in the January 2005
|
||||
Austin Group standardization meeting. For more details, please see
|
||||
"Utility Syntax Guidelines" in the Minutes of the January 2005
|
||||
Meeting <http://www.opengroup.org/austin/docs/austin_239.html>.
|
||||
Meeting <https://www.opengroup.org/austin/docs/austin_239.html>.
|
||||
|
||||
** Binary input and output are now implemented more consistently.
|
||||
These changes affect only platforms like MS-DOS that distinguish
|
||||
@@ -3660,9 +3801,9 @@ GNU coreutils NEWS -*- outline -*-
|
||||
|
||||
The new -P option checks whether a file name component has leading "-",
|
||||
as suggested in interpretation "Austin-039:XCU:pathchk:pathchk -p"
|
||||
<http://www.opengroup.org/austin/interps/doc.tpl?gdid=6232>.
|
||||
<https://collaboration.opengroup.org/austin/interps/documents.php?action=show&gdid=6232>.
|
||||
It also rejects the empty name even if the current host accepts it; see
|
||||
<http://www.opengroup.org/austin/interps/doc.tpl?gdid=6233>.
|
||||
<https://collaboration.opengroup.org/austin/interps/documents.php?action=show&gdid=6233>.
|
||||
|
||||
The --portability option is now equivalent to -p -P.
|
||||
|
||||
@@ -4793,7 +4934,7 @@ packages, see ./old/*/NEWS.
|
||||
|
||||
========================================================================
|
||||
|
||||
Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
|
||||
26
README
26
README
@@ -94,16 +94,30 @@ Here is one possible patch to correct the problem:
|
||||
|
||||
|
||||
************************
|
||||
OSF/1 4.0d build failure
|
||||
OSF/1 4.0d and AIX build failures
|
||||
------------------------
|
||||
|
||||
If you use /usr/bin/make on an OSF/1 4.0d system, it will fail due
|
||||
to the presence of the "[" target. That version of make appears to
|
||||
treat "[" as some syntax relating to locks. To work around that,
|
||||
If you use /usr/bin/make on these systems, the build will fail due
|
||||
to the presence of the "[" target. OSF/1 make(1) appears to
|
||||
treat "[" as some syntax relating to locks, while AIX make(1)
|
||||
appears to skip the "[" target. To work around these issues
|
||||
the best solution is to use GNU make. Otherwise, simply remove
|
||||
all mention of "[$(EXEEXT)" from src/Makefile.
|
||||
|
||||
|
||||
************************
|
||||
32 bit time_t build failures
|
||||
------------------------
|
||||
|
||||
On systems where it's determined that 64 bit time_t is supported
|
||||
(indicated by touch -t <some time after 2038>), but that coreutils
|
||||
would be built with a narrower time_t, the build will fail.
|
||||
This can be allowed by passing TIME_T_32_BIT_OK=yes to configure,
|
||||
or avoided by enabling 64 bit builds. For example GCC on AIX defaults
|
||||
to 32 bit, and to enable the 64 bit ABI one can use:
|
||||
./configure CFLAGS=-maix64 LDFLAGs=-maix64 AR='ar -X64'
|
||||
|
||||
|
||||
*************************************************
|
||||
"make check" failure on IRIX 6.5 and Solaris <= 9
|
||||
-------------------------------------------------
|
||||
@@ -179,7 +193,7 @@ reproduce whatever problem prompted it. Plus, you'll earn lots of
|
||||
karma if you include a test case to exercise any bug(s) you fix.
|
||||
Here are instructions for checking out the latest development sources:
|
||||
|
||||
http://savannah.gnu.org/git/?group=coreutils
|
||||
https://savannah.gnu.org/git/?group=coreutils
|
||||
|
||||
If your patch adds a new feature, please try to get some sort of consensus
|
||||
that it is a worthwhile change. One way to do that is to send mail to
|
||||
@@ -218,7 +232,7 @@ the address on the last line of --help output.
|
||||
|
||||
========================================================================
|
||||
|
||||
Copyright (C) 1998-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1998-2018 Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
|
||||
@@ -93,7 +93,7 @@ each program. One way to do this is to use vc-dwim
|
||||
|
||||
-----
|
||||
|
||||
Copyright (C) 2002-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2002-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -106,4 +106,4 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
@@ -8,7 +8,7 @@ I.e., the tools checked for by the bootstrap script and include:
|
||||
- Git <https://git-scm.com/>
|
||||
- Gperf <https://www.gnu.org/software/gperf/>
|
||||
- Gzip <https://www.gnu.org/software/gzip/>
|
||||
- Perl <http://www.cpan.org/>
|
||||
- Perl <https://www.cpan.org/>
|
||||
- Rsync <https://rsync.samba.org/>
|
||||
- Tar <https://www.gnu.org/software/tar/>
|
||||
- Texinfo <https://www.gnu.org/software/texinfo/>
|
||||
|
||||
@@ -16,7 +16,7 @@ Here are most of the steps we (maintainers) follow when making a release.
|
||||
* Ensure that you've pushed all changes that belong in the release
|
||||
and that the NixOS/Hydra autobuilder is reporting all is well:
|
||||
|
||||
http://hydra.nixos.org/jobset/gnu/coreutils-master
|
||||
https://hydra.nixos.org/jobset/gnu/coreutils-master
|
||||
|
||||
* Run bootstrap one last time. This downloads any new translations:
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#! /bin/bash
|
||||
# Convert this package for use with valgrind.
|
||||
|
||||
# Copyright (C) 2002-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2002-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -14,7 +14,7 @@
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
|
||||
|
||||
12
THANKS.in
12
THANKS.in
@@ -75,7 +75,7 @@ Augey Mikus mikus@dqc.org
|
||||
Austin Donnelly Austin.Donnelly@cl.cam.ac.uk
|
||||
Axel Dörfler axeld@pinc-software.de
|
||||
Axel Kittenberger Anshil@gmx.net
|
||||
Barry Kelly http://barrkel.blogspot.com/
|
||||
Barry Kelly http://blog.barrkel.com/
|
||||
Bauke Jan Douma bjdouma@xs4all.nl
|
||||
Ben Elliston bje@air.net.au
|
||||
Ben Harris bjh21@netbsd.org
|
||||
@@ -192,6 +192,7 @@ Eli Zaretskii eliz@is.elta.co.il
|
||||
Emile LeBlanc leblanc@math.toronto.edu
|
||||
Emmanuel Lacour elacour@home-dn.net
|
||||
Eric Backus ericb@lsid.hp.com
|
||||
Eric Bergen eric.bergen@gmail.com
|
||||
Eric G. Miller egm2@jps.net
|
||||
Eric Pemente pemente@northpark.edu
|
||||
Eric S. Raymond esr@snark.thyrsus.com
|
||||
@@ -260,10 +261,12 @@ Ian Kent ikent@redhat.com
|
||||
Ian Lance Taylor ian@cygnus.com
|
||||
Ian Turner vectro@pipeline.com
|
||||
Iida Yosiaki iida@gnu.org
|
||||
Illia Bobyr ibobyr@google.com
|
||||
Ilya N. Golubev gin@mo.msk.ru
|
||||
Ingo Saitz ingo@debian.org
|
||||
Ivan Labath labath3@st.fmph.uniba.sk
|
||||
Ivo Timmermans ivo@debian.org
|
||||
Jack Howarth howarth.mailing.lists@gmail.com
|
||||
Jacky Fong jacky.fong@utoronto.ca
|
||||
James Antill jmanti%essex.ac.uk@seralph21.essex.ac.uk
|
||||
James Hunt jamesodhunt@hotmail.com
|
||||
@@ -283,6 +286,7 @@ Jan-Pawel Wrozstinski jpwroz@gmail.com
|
||||
Jari Aalto jari.aalto@cante.net
|
||||
Jarkko Hietaniemi jhi@epsilon.hut.fi
|
||||
Jarod Wilson jwilson@redhat.com
|
||||
Jason Smith jasonmsmith@google.com
|
||||
Jean Charles Delepine delepine@u-picardie.fr
|
||||
Jean-Pierre Tosoni jpt.7196@gmail.com
|
||||
Jeff Moore jbm@mordor.com
|
||||
@@ -346,7 +350,7 @@ Karsten Thygesen karthy@kom.auc.dk
|
||||
Kaveh R. Ghazi ghazi@caip.rutgers.edu
|
||||
Keith M. Briggs keith.briggs@bt.com
|
||||
Keith Owens kaos@audio.apana.org.au
|
||||
Keith Thompson kst@cts.com
|
||||
Keith Thompson Keith.S.Thompson@gmail.com
|
||||
Ken Irving ken.irving@alaska.edu
|
||||
Ken Pizzini kenp@halcyon.com
|
||||
Kevin Mudrick kmudrick@healthmarketscience.com
|
||||
@@ -375,9 +379,9 @@ Marc Haber mh+debian-bugs@zugschlus.de
|
||||
Marc Lehman schmorp@schmorp.de
|
||||
Marc Mengel mengel@fnal.gov
|
||||
Marc Olzheim marcolz@stack.nl
|
||||
Marcel Böhme http://www.comp.nus.edu.sg/~mboehme
|
||||
Marcel Böhme https://www.comp.nus.edu.sg/~mboehme
|
||||
Marco Franzen Marco.Franzen@Thyron.com
|
||||
Marcus Brinkmann http://www.marcus-brinkmann.de
|
||||
Marcus Brinkmann https://www.marcus-brinkmann.de
|
||||
Marcus Daniels marcus@ee.pdx.edu
|
||||
Mark A. Thomas thommark@access.digex.net
|
||||
Mark Conty Mark_Conty@cargill.com
|
||||
|
||||
17
TODO
17
TODO
@@ -7,9 +7,9 @@ before embarking on a big project.
|
||||
==================================================
|
||||
Modify chmod so that it does not change an inode's st_ctime
|
||||
when the selected operation would have no other effect.
|
||||
First suggested by Hans Ecke <http://hans.ecke.ws> in
|
||||
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/2920
|
||||
Discussed more recently on <http://bugs.debian.org/497514>.
|
||||
First suggested by Hans Ecke <https://hans.ecke.ws> in
|
||||
https://lists.gnu.org/r/bug-coreutils/2004-09/msg00145.html
|
||||
Discussed more recently on <https://bugs.debian.org/497514>.
|
||||
|
||||
document the following in coreutils.texi:
|
||||
[
|
||||
@@ -52,7 +52,7 @@ Write an autoconf test to work around build failure in HPUX's 64-bit mode.
|
||||
See notes in README -- and remove them once there's a work-around.
|
||||
|
||||
Integrate use of sendfile, suggested here:
|
||||
http://mail.gnu.org/archive/html/bug-fileutils/2003-03/msg00030.html
|
||||
https://lists.gnu.org/r/bug-fileutils/2003-03/msg00030.html
|
||||
I don't plan to do that, since a few tests demonstrate no significant benefit.
|
||||
|
||||
printf: consider adapting builtins/printf.def from bash
|
||||
@@ -86,14 +86,11 @@ sort: Investigate better sorting algorithms; see Knuth vol. 3.
|
||||
Mathematical Monthly 66 (1959), 387-389.
|
||||
|
||||
shred: Update shred as described here to conform to DoD 5220 rules:
|
||||
http://lists.gnu.org/archive/html/bug-coreutils/2007-05/msg00075.html
|
||||
https://lists.gnu.org/r/bug-coreutils/2007-05/msg00075.html
|
||||
|
||||
Remove suspicious uses of alloca (ones that may allocate more than
|
||||
about 4k)
|
||||
|
||||
Adapt these contribution guidelines for coreutils:
|
||||
http://sources.redhat.com/automake/contribute.html
|
||||
|
||||
Improve test coverage.
|
||||
See HACKING for instructions on generating an html test coverage report.
|
||||
Find a program that has poor coverage and improve.
|
||||
@@ -146,7 +143,7 @@ pr's use of nstrftime can make it malloc a very large (up to SIZE_MAX) buffer
|
||||
|
||||
-----
|
||||
|
||||
Copyright (C) 2002-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2002-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -159,4 +156,4 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
12
bootstrap
12
bootstrap
@@ -1,10 +1,10 @@
|
||||
#! /bin/sh
|
||||
# Print a version string.
|
||||
scriptversion=2017-01-09.19; # UTC
|
||||
scriptversion=2017-09-19.08; # UTC
|
||||
|
||||
# Bootstrap this package from checked-out sources.
|
||||
|
||||
# Copyright (C) 2003-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2003-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -17,7 +17,7 @@ scriptversion=2017-01-09.19; # UTC
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
# Originally written by Paul Eggert. The canonical version of this
|
||||
# script is maintained as build-aux/bootstrap in gnulib, however, to
|
||||
@@ -141,7 +141,7 @@ po_download_command_format=\
|
||||
# Fallback for downloading .po files (if rsync fails).
|
||||
po_download_command_format2=\
|
||||
"wget --mirror -nd -q -np -A.po -P '%s' \
|
||||
http://translationproject.org/latest/%s/"
|
||||
https://translationproject.org/latest/%s/"
|
||||
|
||||
# Prefer a non-empty tarname (4th argument of AC_INIT if given), else
|
||||
# fall back to the package name (1st argument with munging)
|
||||
@@ -699,7 +699,7 @@ download_po_files() {
|
||||
echo "$me: getting translations into $subdir for $domain..."
|
||||
cmd=$(printf "$po_download_command_format" "$domain" "$subdir")
|
||||
eval "$cmd" && return
|
||||
# Fallback to HTTP.
|
||||
# Fallback to HTTPS.
|
||||
cmd=$(printf "$po_download_command_format2" "$subdir" "$domain")
|
||||
eval "$cmd"
|
||||
}
|
||||
@@ -792,7 +792,7 @@ symlink_to_dir()
|
||||
# aren't confused into doing unnecessary builds. Conversely, if the
|
||||
# existing symlink's timestamp is older than the source, make it afresh,
|
||||
# so that broken tools aren't confused into skipping needed builds. See
|
||||
# <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00326.html>.
|
||||
# <https://lists.gnu.org/r/bug-gnulib/2011-05/msg00326.html>.
|
||||
test -h "$dst" &&
|
||||
src_ls=$(ls -diL "$src" 2>/dev/null) && set $src_ls && src_i=$1 &&
|
||||
dst_ls=$(ls -diL "$dst" 2>/dev/null) && set $dst_ls && dst_i=$1 &&
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Bootstrap configuration.
|
||||
|
||||
# Copyright (C) 2006-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2006-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
# We don't need these modules.
|
||||
@@ -100,7 +100,6 @@ gnulib_modules="
|
||||
fstatat
|
||||
fsusage
|
||||
fsync
|
||||
ftello
|
||||
ftoastr
|
||||
ftruncate
|
||||
fts
|
||||
@@ -180,6 +179,7 @@ gnulib_modules="
|
||||
netinet_in
|
||||
non-recursive-gnulib-prefix-hack
|
||||
nproc
|
||||
nstrftime
|
||||
obstack
|
||||
open
|
||||
parse-datetime
|
||||
@@ -235,10 +235,8 @@ gnulib_modules="
|
||||
stpcpy
|
||||
stpncpy
|
||||
strdup-posix
|
||||
strftime
|
||||
strncat
|
||||
strnumcmp
|
||||
strpbrk
|
||||
strsignal
|
||||
strtod
|
||||
strtoimax
|
||||
@@ -272,6 +270,7 @@ gnulib_modules="
|
||||
verify
|
||||
verror
|
||||
version-etc-fsf
|
||||
wchar-single
|
||||
wcswidth
|
||||
wcwidth
|
||||
winsz-ioctl
|
||||
@@ -294,6 +293,7 @@ gnulib_modules="
|
||||
xstrtol
|
||||
xstrtold
|
||||
xstrtoumax
|
||||
year2038
|
||||
yesno
|
||||
"
|
||||
|
||||
|
||||
@@ -1,8 +1,3 @@
|
||||
# This file is expected to be used via gitlog-to-changelog's --amend=FILE
|
||||
# option. It specifies what changes to make to each given SHA1's commit
|
||||
# log and metadata, using Perl-eval'able expressions.
|
||||
|
||||
# I was unable to apply the c-set using normal methods, so
|
||||
# applied it with patch and then forgot to reset the Author.
|
||||
51a4b04954ad5ad12de1d1b82a3603fc350a3bfa
|
||||
s,Jim .*>,Ondrej Oprala <ooprala\@redhat.com>,
|
||||
|
||||
23
cfg.mk
23
cfg.mk
@@ -1,5 +1,5 @@
|
||||
# Customize maint.mk -*- makefile -*-
|
||||
# Copyright (C) 2003-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2003-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -12,14 +12,14 @@
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
# Used in maint.mk's web-manual rule
|
||||
manual_title = Core GNU utilities
|
||||
|
||||
# Use the direct link. This is guaranteed to work immediately, while
|
||||
# it can take a while for the faster mirror links to become usable.
|
||||
url_dir_list = http://ftp.gnu.org/gnu/$(PACKAGE)
|
||||
url_dir_list = https://ftp.gnu.org/gnu/$(PACKAGE)
|
||||
|
||||
# Exclude bundled external projects from syntax checks
|
||||
VC_LIST_ALWAYS_EXCLUDE_REGEX = src/blake2/.*$$
|
||||
@@ -48,7 +48,7 @@ export VERBOSE = yes
|
||||
# 4914152 9e
|
||||
export XZ_OPT = -8e
|
||||
|
||||
old_NEWS_hash = fbfecedc8eaff3d296b43a9f1db2a269
|
||||
old_NEWS_hash = 48668bce5e01bf434b1d1ff10d141884
|
||||
|
||||
# Add an exemption for sc_makefile_at_at_check.
|
||||
_makefile_at_at_check_exceptions = ' && !/^cu_install_prog/ && !/dynamic-dep/'
|
||||
@@ -320,11 +320,12 @@ sc_prohibit-gl-attributes:
|
||||
$(_sc_search_regexp)
|
||||
|
||||
# Look for lines longer than 80 characters, except omit:
|
||||
# - program-generated long lines in diff headers,
|
||||
# - urls
|
||||
# - the help2man script copied from upstream,
|
||||
# - tests involving long checksum lines, and
|
||||
# - the 'pr' test cases.
|
||||
FILTER_LONG_LINES = \
|
||||
\|^[^:]*NEWS:.*https\{,1\}://| d; \
|
||||
\|^[^:]*man/help2man:| d; \
|
||||
\|^[^:]*tests/misc/sha[0-9]*sum.*\.pl[-:]| d; \
|
||||
\|^[^:]*tests/pr/|{ \|^[^:]*tests/pr/pr-tests:| !d; };
|
||||
@@ -786,11 +787,13 @@ sc_gitignore_missing:
|
||||
'entries to .gitignore' >&2; exit 1; } || :
|
||||
|
||||
# Flag redundant entries in .gitignore
|
||||
sc_gitignore_redundant:
|
||||
@{ grep ^/lib $(srcdir)/.gitignore; \
|
||||
sed 's|^|/lib|' $(srcdir)/lib/.gitignore; } | \
|
||||
sort | uniq -d | grep . && { echo '$(ME): Remove above' \
|
||||
'entries from .gitignore' >&2; exit 1; } || :
|
||||
# Disabled for now as too aggressive flagging
|
||||
# entries like /lib/arg-nonnull.h
|
||||
#sc_gitignore_redundant:
|
||||
# @{ grep ^/lib $(srcdir)/.gitignore; \
|
||||
# sed 's|^|/lib|' $(srcdir)/lib/.gitignore; } | \
|
||||
# sort | uniq -d | grep . && { echo '$(ME): Remove above' \
|
||||
# 'entries from .gitignore' >&2; exit 1; } || :
|
||||
|
||||
sc_prohibit-form-feed:
|
||||
@prohibit=$$'\f' \
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# -*- autoconf -*-
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
# Copyright (C) 1991-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1991-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -14,7 +14,7 @@
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
dnl Written by Jim Meyering.
|
||||
|
||||
@@ -23,9 +23,12 @@ AC_PREREQ([2.69])
|
||||
# Make inter-release version strings look like, e.g., v6.9-219-g58ddd, which
|
||||
# indicates that it is built from the 219th delta (in _some_ repository)
|
||||
# following the v6.9 tag, and that 58ddd is a prefix of the commit SHA1.
|
||||
# The explicit URL can be removed when autoconf > 2.69 is released.
|
||||
AC_INIT([GNU coreutils],
|
||||
m4_esyscmd([build-aux/git-version-gen .tarball-version]),
|
||||
[bug-coreutils@gnu.org])
|
||||
[bug-coreutils@gnu.org],
|
||||
[coreutils],
|
||||
[https://www.gnu.org/software/coreutils/])
|
||||
|
||||
AC_CONFIG_SRCDIR([src/ls.c])
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
# Make coreutils documentation. -*-Makefile-*-
|
||||
# This is included by the top-level Makefile.am.
|
||||
|
||||
# Copyright (C) 1995-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1995-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -14,7 +14,7 @@
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
info_TEXINFOS = doc/coreutils.texi
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
@c File mode bits
|
||||
|
||||
@c Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
||||
|
||||
@c Permission is granted to copy, distribute and/or modify this document
|
||||
@c under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
@@ -494,10 +494,47 @@ the file to all users.
|
||||
As an
|
||||
alternative to giving a symbolic mode, you can give an octal (base 8)
|
||||
number that represents the mode.
|
||||
This number is always interpreted in octal; you do not have to add a
|
||||
leading @samp{0}, as you do in C. Mode @samp{0055} is the same as
|
||||
mode @samp{55}. (However, modes of five digits or more, such as
|
||||
@samp{00055}, are sometimes special. @xref{Directory Setuid and Setgid}.)
|
||||
|
||||
The permissions granted to the user,
|
||||
to other users in the file's group,
|
||||
and to other users not in the file's group each require three
|
||||
bits: one bit for read, one for write, and one for execute/search permission.
|
||||
These three bits are represented as one octal digit;
|
||||
for example, if all three are present, the resulting 111 (in binary)
|
||||
is represented as the digit 7 (in octal). The three special
|
||||
mode bits also require one bit each, and they are as a group
|
||||
represented as another octal digit. Here is how the bits are arranged,
|
||||
starting with the highest valued bit:
|
||||
|
||||
@example
|
||||
Value in Corresponding
|
||||
Mode Mode Bit
|
||||
|
||||
Special mode bits:
|
||||
4000 Set user ID on execution
|
||||
2000 Set group ID on execution
|
||||
1000 Restricted deletion flag or sticky bit
|
||||
|
||||
The file's owner:
|
||||
400 Read
|
||||
200 Write
|
||||
100 Execute/search
|
||||
|
||||
Other users in the file's group:
|
||||
40 Read
|
||||
20 Write
|
||||
10 Execute/search
|
||||
|
||||
Other users not in the file's group:
|
||||
4 Read
|
||||
2 Write
|
||||
1 Execute/search
|
||||
@end example
|
||||
|
||||
For example, numeric mode @samp{4751} corresponds to symbolic mode
|
||||
@samp{u=srwx,g=rx,o=x}, and numeric mode @samp{664} corresponds to symbolic mode
|
||||
@samp{ug=rw,o=r}. Numeric mode @samp{0} corresponds to symbolic mode
|
||||
@samp{a=}.
|
||||
|
||||
A numeric mode is usually shorter than the corresponding symbolic
|
||||
mode, but it is limited in that normally it cannot take into account the
|
||||
@@ -507,43 +544,10 @@ to this general limitation. @xref{Directory Setuid and Setgid}.
|
||||
Also, operator numeric modes can take previous file mode bits into
|
||||
account. @xref{Operator Numeric Modes}.
|
||||
|
||||
The permissions granted to the user,
|
||||
to other users in the file's group,
|
||||
and to other users not in the file's group each require three
|
||||
bits, which are represented as one octal digit. The three special
|
||||
mode bits also require one bit each, and they are as a group
|
||||
represented as another octal digit. Here is how the bits are arranged,
|
||||
starting with the lowest valued bit:
|
||||
|
||||
@example
|
||||
Value in Corresponding
|
||||
Mode Mode Bit
|
||||
|
||||
Other users not in the file's group:
|
||||
1 Execute/search
|
||||
2 Write
|
||||
4 Read
|
||||
|
||||
Other users in the file's group:
|
||||
10 Execute/search
|
||||
20 Write
|
||||
40 Read
|
||||
|
||||
The file's owner:
|
||||
100 Execute/search
|
||||
200 Write
|
||||
400 Read
|
||||
|
||||
Special mode bits:
|
||||
1000 Restricted deletion flag or sticky bit
|
||||
2000 Set group ID on execution
|
||||
4000 Set user ID on execution
|
||||
@end example
|
||||
|
||||
For example, numeric mode @samp{4755} corresponds to symbolic mode
|
||||
@samp{u=rwxs,go=rx}, and numeric mode @samp{664} corresponds to symbolic mode
|
||||
@samp{ug=rw,o=r}. Numeric mode @samp{0} corresponds to symbolic mode
|
||||
@samp{a=}.
|
||||
Numeric modes are always interpreted in octal; you do not have to add a
|
||||
leading @samp{0}, as you do in C@. Mode @samp{0055} is the same as
|
||||
mode @samp{55}. However, modes of five digits or more, such as
|
||||
@samp{00055}, are sometimes special (@pxref{Directory Setuid and Setgid}).
|
||||
|
||||
@node Operator Numeric Modes
|
||||
@section Operator Numeric Modes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* buffer-lcm.c - compute a good buffer size for dealing with two files
|
||||
|
||||
Copyright (C) 2002-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2002-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Paul Eggert. */
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Declare an access pattern hint for files.
|
||||
Copyright (C) 2010-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2010-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Without this pragma, gcc suggests that (given !HAVE_POSIX_FADVISE)
|
||||
the fdadvise function might be a candidate for attribute 'const'. */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Declare an access pattern hint for files.
|
||||
Copyright (C) 2010-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2010-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <config.h>
|
||||
#include <stdio.h>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Invoke open, but return either a desired file descriptor or -1.
|
||||
|
||||
Copyright (C) 2005-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2005-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Paul Eggert. */
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Invoke open, but return either a desired file descriptor or -1.
|
||||
|
||||
Copyright (C) 2005-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2005-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Paul Eggert. */
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Barebones heap implementation supporting only insert and pop.
|
||||
|
||||
Copyright (C) 2010-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2010-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Full implementation: GDSL (http://gna.org/projects/gdsl/) by Nicolas
|
||||
Darnis <ndarnis@free.fr>. */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Barebones heap implementation supporting only insert and pop.
|
||||
|
||||
Copyright (C) 2010-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2010-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Full implementation: GDSL (http://gna.org/projects/gdsl/) by Nicolas
|
||||
Darnis <ndarnis@free.fr>. Adapted by Gene Auyeung. */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Align/Truncate a string in a given screen width
|
||||
Copyright (C) 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2009-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Pádraig Brady. */
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Align/Truncate a string in a given screen width
|
||||
Copyright (C) 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2009-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Bob Jenkins's cryptographic random number generators, ISAAC and ISAAC64.
|
||||
|
||||
Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1998, 1999 Colin Plumb.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
@@ -14,7 +14,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Written by Colin Plumb and Paul Eggert. */
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Bob Jenkins's cryptographic random number generators, ISAAC and ISAAC64.
|
||||
|
||||
Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1998, 1999 Colin Plumb.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
@@ -14,7 +14,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Written by Colin Plumb and Paul Eggert. */
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Generate random integers.
|
||||
|
||||
Copyright (C) 2006-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2006-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Paul Eggert. */
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Generate random integers.
|
||||
|
||||
Copyright (C) 2006-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2006-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Paul Eggert. */
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Generate random permutations.
|
||||
|
||||
Copyright (C) 2006-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2006-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Paul Eggert. */
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Generate buffers of random data.
|
||||
|
||||
Copyright (C) 2006-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2006-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Paul Eggert. */
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Generate buffers of random data.
|
||||
|
||||
Copyright (C) 2006-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2006-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Paul Eggert. */
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* root-dev-ino.c -- get the device and inode numbers for '/'.
|
||||
Copyright (C) 2003-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2003-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Jim Meyering. */
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Root device and inode number checking.
|
||||
|
||||
Copyright (C) 2003-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2003-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef ROOT_DEV_INO_H
|
||||
# define ROOT_DEV_INO_H 1
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Include and determine availability of smack routines
|
||||
Copyright (C) 2013-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2013-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Here we replace or wrap the most common smack functions used by coreutils.
|
||||
Others will need to be protected by HAVE_SMACK. */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Compare integer strings.
|
||||
|
||||
Copyright (C) 2005-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2005-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Paul Eggert. */
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Compare numeric strings. This is an internal include file.
|
||||
|
||||
Copyright (C) 1988-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1988-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Mike Haertel. */
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Compare numeric strings.
|
||||
|
||||
Copyright (C) 2005-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2005-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Paul Eggert. */
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Convert decimal strings with bounds checking and exit on error.
|
||||
|
||||
Copyright (C) 2014-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2014-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Convert decimal strings with bounds checking and exit on error.
|
||||
|
||||
Copyright (C) 2014-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2014-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef XDECTOINT_H_
|
||||
# define XDECTOINT_H_ 1
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* xfts.c -- a wrapper for fts_open
|
||||
|
||||
Copyright (C) 2003-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2003-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Jim Meyering. */
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Test that fadvise works as advertised.
|
||||
Copyright (C) 2010-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2010-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Pádraig Brady. */
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Test that mbsalign works as advertised.
|
||||
Copyright (C) 2010-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2010-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Pádraig Brady. */
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Test the ISAAC or ISAAC64 pseudorandom number generator.
|
||||
|
||||
Copyright (C) 2010-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2010-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Paul Eggert. */
|
||||
|
||||
|
||||
2
gnulib
2
gnulib
Submodule gnulib updated: a20922f105...16aa5a2efe
6
init.cfg
6
init.cfg
@@ -1,6 +1,6 @@
|
||||
# This file is sourced by init.sh, *before* its initialization.
|
||||
|
||||
# Copyright (C) 2010-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2010-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
# This goes hand in hand with the "exec 9>&2;" in tests/Makefile.am's
|
||||
# TESTS_ENVIRONMENT definition.
|
||||
@@ -627,7 +627,7 @@ skip_if_setgid_()
|
||||
|
||||
# Skip if files are created with a different group to the current user
|
||||
# This can happen due to a setgid dir, or by some other mechanism on OS X:
|
||||
# http://unix.stackexchange.com/q/63865
|
||||
# https://unix.stackexchange.com/q/63865
|
||||
# https://bugs.gnu.org/14024#41
|
||||
skip_if_nondefault_group_()
|
||||
{
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
# Exercise chdir-long's sample main program.
|
||||
|
||||
# Copyright (C) 2005-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2005-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -14,7 +14,7 @@
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
# FIXME: add traps and choose top level names so that
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# boottime.m4 serial 4
|
||||
# Determine whether this system has infrastructure for obtaining the boot time.
|
||||
|
||||
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -14,7 +14,7 @@
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
# GNULIB_BOOT_TIME([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
|
||||
* ----------------------------------------------------------
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#serial 26
|
||||
# Check declarations for this package.
|
||||
|
||||
dnl Copyright (C) 1997-2017 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 1997-2018 Free Software Foundation, Inc.
|
||||
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Tests for GNU GMP (or any compatible replacement).
|
||||
|
||||
dnl Copyright (C) 2008-2017 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 2008-2018 Free Software Foundation, Inc.
|
||||
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#serial 2
|
||||
dnl Copyright (C) 2007-2017 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 2007-2018 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
dnl Misc type-related macros for coreutils.
|
||||
|
||||
# Copyright (C) 1998-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1998-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -15,7 +15,7 @@ dnl Misc type-related macros for coreutils.
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
# Written by Jim Meyering.
|
||||
|
||||
@@ -211,6 +211,7 @@ AC_DEFUN([gl_CHECK_ALL_HEADERS],
|
||||
paths.h
|
||||
priv.h
|
||||
stropts.h
|
||||
sys/mtio.h
|
||||
sys/param.h
|
||||
sys/systeminfo.h
|
||||
syslog.h
|
||||
|
||||
@@ -7,7 +7,7 @@ m4_pattern_forbid([^gl_[ABCDEFGHIJKLMNOPQRSTUVXYZ]])dnl
|
||||
# directory of the coreutils package.
|
||||
|
||||
|
||||
# Copyright (C) 1998-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1998-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -20,7 +20,7 @@ m4_pattern_forbid([^gl_[ABCDEFGHIJKLMNOPQRSTUVXYZ]])dnl
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
# Written by Jim Meyering.
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# stat-prog.m4 serial 7
|
||||
# Record the prerequisites of src/stat.c from the coreutils package.
|
||||
|
||||
# Copyright (C) 2002-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2002-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -14,7 +14,7 @@
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
# Written by Jim Meyering.
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# xattr.m4 - check for Extended Attributes (Linux)
|
||||
# serial 3
|
||||
|
||||
# Copyright (C) 2003-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2003-2018 Free Software Foundation, Inc.
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
15
man/chmod.x
15
man/chmod.x
@@ -1,7 +1,7 @@
|
||||
'\" Copyright (C) 1998-2017 Free Software Foundation, Inc.
|
||||
'\" Copyright (C) 1998-2018 Free Software Foundation, Inc.
|
||||
'\"
|
||||
'\" This is free software. You may redistribute copies of it under the terms
|
||||
'\" of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
|
||||
'\" of the GNU General Public License <https://www.gnu.org/licenses/gpl.html>.
|
||||
'\" There is NO WARRANTY, to the extent permitted by law.
|
||||
[NAME]
|
||||
chmod \- change file mode bits
|
||||
@@ -87,14 +87,19 @@ functionality of the underlying
|
||||
system call. When in
|
||||
doubt, check the underlying system behavior.
|
||||
.PP
|
||||
For directories
|
||||
.B chmod
|
||||
preserves a directory's set-user-ID and set-group-ID bits unless you
|
||||
preserves set-user-ID and set-group-ID bits unless you
|
||||
explicitly specify otherwise. You can set or clear the bits with
|
||||
symbolic modes like
|
||||
.B u+s
|
||||
and
|
||||
.BR g\-s ,
|
||||
and you can set (but not clear) the bits with a numeric mode.
|
||||
.BR g\-s .
|
||||
To clear these bits for directories with a numeric mode requires
|
||||
an additional leading zero, or leading = like
|
||||
.B 00755
|
||||
, or
|
||||
.B =755
|
||||
.SH "RESTRICTED DELETION FLAG OR STICKY BIT"
|
||||
The restricted deletion flag or sticky bit is a single bit, whose
|
||||
interpretation depends on the file type. For directories, it prevents
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
'\" Copyright (C) 1998-2017 Free Software Foundation, Inc.
|
||||
'\" Copyright (C) 1998-2018 Free Software Foundation, Inc.
|
||||
'\"
|
||||
'\" This is free software. You may redistribute copies of it under the terms
|
||||
'\" of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
|
||||
'\" of the GNU General Public License <https://www.gnu.org/licenses/gpl.html>.
|
||||
'\" There is NO WARRANTY, to the extent permitted by law.
|
||||
[NAME]
|
||||
chown \- change file owner and group
|
||||
|
||||
4
man/df.x
4
man/df.x
@@ -1,7 +1,7 @@
|
||||
'\" Copyright (C) 1998-2017 Free Software Foundation, Inc.
|
||||
'\" Copyright (C) 1998-2018 Free Software Foundation, Inc.
|
||||
'\"
|
||||
'\" This is free software. You may redistribute copies of it under the terms
|
||||
'\" of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
|
||||
'\" of the GNU General Public License <https://www.gnu.org/licenses/gpl.html>.
|
||||
'\" There is NO WARRANTY, to the extent permitted by law.
|
||||
[NAME]
|
||||
df \- report file system disk space usage
|
||||
|
||||
16
man/du.x
16
man/du.x
@@ -1,7 +1,7 @@
|
||||
'\" Copyright (C) 1998-2017 Free Software Foundation, Inc.
|
||||
'\" Copyright (C) 1998-2018 Free Software Foundation, Inc.
|
||||
'\"
|
||||
'\" This is free software. You may redistribute copies of it under the terms
|
||||
'\" of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
|
||||
'\" of the GNU General Public License <https://www.gnu.org/licenses/gpl.html>.
|
||||
'\" There is NO WARRANTY, to the extent permitted by law.
|
||||
[NAME]
|
||||
du \- estimate file space usage
|
||||
@@ -9,20 +9,20 @@ du \- estimate file space usage
|
||||
.\" Add any additional description here
|
||||
[PATTERNS]
|
||||
PATTERN is a shell pattern (not a regular expression). The pattern
|
||||
.BR ?
|
||||
.B ?\&
|
||||
matches any one character, whereas
|
||||
.BR *
|
||||
.B *
|
||||
matches any string (composed of zero, one or multiple characters). For
|
||||
example,
|
||||
.BR *.o
|
||||
.B *.o
|
||||
will match any files whose names end in
|
||||
.BR .o .
|
||||
Therefore, the command
|
||||
.IP
|
||||
.B du --exclude=\(aq*.o\(aq
|
||||
.B du \-\-exclude=\(aq*.o\(aq
|
||||
.PP
|
||||
will skip all files and subdirectories ending in
|
||||
.BR .o
|
||||
.B .o
|
||||
(including the file
|
||||
.BR .o
|
||||
.B .o
|
||||
itself).
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
#!/bin/sh
|
||||
# Poor man's placeholder for help2man invocation on systems lacking perl;
|
||||
# it generates a dummy man page stating that a proper one could not be
|
||||
# generated, and redirecting the user back to either the info
|
||||
# documentation or the '--help' output.
|
||||
# Poor man's placeholder for help2man invocation on systems lacking perl,
|
||||
# or when cross compiling.
|
||||
# It just copies the distributed man pages.
|
||||
|
||||
set -e; set -u
|
||||
|
||||
@@ -24,12 +23,12 @@ while test $# -gt 0; do
|
||||
# Help2man options we recognize and handle.
|
||||
--output=*) output=`expr x"$1" : x'--output=\(.*\)'`;;
|
||||
--output) shift; output=$1;;
|
||||
--include=*) include=`expr x"$1" : x'--include=\(.*\)'`;;
|
||||
--include) shift; include=$1;;
|
||||
--source=*) source=`expr x"$1" : x'--source=\(.*\)'`;;
|
||||
--source) shift; source=$1;;
|
||||
# Recognize (as no-op) other help2man options that might be used
|
||||
# in the makefile.
|
||||
--include=*);;
|
||||
--include) shift;;
|
||||
--info-page=*);;
|
||||
-*) fatal_ "invalid or unrecognized help2man option '$1'";;
|
||||
--) shift; break;;
|
||||
@@ -41,10 +40,13 @@ done
|
||||
test $# -gt 0 || fatal_ "missing argument"
|
||||
test $# -le 1 || fatal_ "too many non-option arguments"
|
||||
|
||||
dist_man=$(printf '%s\n' "$include" | sed 's/\.x$/.1/')
|
||||
test -f "$dist_man" && cp "$dist_man" "$output" && exit || :
|
||||
|
||||
baseout=`basename_ "$output"`
|
||||
sed 's/^/WARNING: /' >&2 <<END
|
||||
Cannot create proper '$baseout' man page, since perl is missing or
|
||||
inadequate on this system. Creating a stub man page instead.
|
||||
Did not generate or find default '$baseout' man page.
|
||||
Creating a stub man page instead.
|
||||
END
|
||||
|
||||
progname=`basename_ "$1"`
|
||||
@@ -55,9 +57,8 @@ cat >"$output" <<END
|
||||
.SH NAME
|
||||
$progname $bs- a $source program
|
||||
.SH DESCRIPTION
|
||||
.B OOOPS!
|
||||
Due to the lack of perl on the build system, we were
|
||||
unable to create a proper manual page for
|
||||
.B OOPS!
|
||||
We were unable to create a proper manual page for
|
||||
.B $progname.
|
||||
For concise option descriptions, run
|
||||
.IP
|
||||
|
||||
35
man/env.x
35
man/env.x
@@ -1,4 +1,39 @@
|
||||
'\" Copyright (C) 1998-2018 Free Software Foundation, Inc.
|
||||
'\"
|
||||
'\" This is free software. You may redistribute copies of it under the terms
|
||||
'\" of the GNU General Public License <https://www.gnu.org/licenses/gpl.html>.
|
||||
'\" There is NO WARRANTY, to the extent permitted by law.
|
||||
[NAME]
|
||||
env \- run a program in a modified environment
|
||||
[DESCRIPTION]
|
||||
.\" Add any additional description here
|
||||
[OPTIONS]
|
||||
.SS "\-S/\-\-split\-string usage in scripts"
|
||||
The
|
||||
.B \-S
|
||||
option allows specifing multiple parameters in a script.
|
||||
Running a script named
|
||||
.B 1.pl
|
||||
containing the following first line:
|
||||
.PP
|
||||
.RS
|
||||
.nf
|
||||
#!/usr/bin/env \-S perl \-w \-T
|
||||
...
|
||||
.fi
|
||||
.RE
|
||||
.PP
|
||||
Will execute
|
||||
.B "perl \-w \-T 1.pl".
|
||||
.PP
|
||||
Without the
|
||||
.B '\-S'
|
||||
parameter the script will likely fail with:
|
||||
.PP
|
||||
.RS
|
||||
.nf
|
||||
/usr/bin/env: 'perl \-w \-T': No such file or directory
|
||||
.fi
|
||||
.RE
|
||||
.PP
|
||||
See the full documentation for more details.
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program; if not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
# Written by Brendan O'Dea <bod@debian.org>
|
||||
# Available from ftp://ftp.gnu.org/gnu/help2man/
|
||||
# Available from https://ftp.gnu.org/gnu/help2man/
|
||||
|
||||
use 5.008;
|
||||
use strict;
|
||||
@@ -256,7 +256,7 @@ my $epoch_secs = time;
|
||||
if (exists $ENV{SOURCE_DATE_EPOCH} and $ENV{SOURCE_DATE_EPOCH} =~ /^(\d+)$/)
|
||||
{
|
||||
$epoch_secs = $1;
|
||||
$ENV{TZ} = 'UTC';
|
||||
$ENV{TZ} = 'UTC0';
|
||||
}
|
||||
|
||||
# Translators: the following message is a strftime(3) format string, which in
|
||||
|
||||
20
man/local.mk
20
man/local.mk
@@ -1,7 +1,7 @@
|
||||
# Make coreutils man pages. -*-Makefile-*-
|
||||
# This is included by the top-level Makefile.am.
|
||||
|
||||
# Copyright (C) 2002-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2002-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -14,26 +14,31 @@
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
EXTRA_DIST += man/help2man man/dummy-man
|
||||
|
||||
## Use the distributed man pages if cross compiling or lack perl
|
||||
if CROSS_COMPILING
|
||||
run_help2man = $(SHELL) $(srcdir)/man/dummy-man
|
||||
else
|
||||
## Graceful degradation for systems lacking perl.
|
||||
if HAVE_PERL
|
||||
run_help2man = $(PERL) -- $(srcdir)/man/help2man
|
||||
else
|
||||
run_help2man = $(SHELL) $(srcdir)/man/dummy-man
|
||||
endif
|
||||
endif
|
||||
|
||||
man1_MANS = @man1_MANS@
|
||||
EXTRA_DIST += $(man1_MANS:.1=.x)
|
||||
EXTRA_DIST += $(man1_MANS) $(man1_MANS:.1=.x)
|
||||
|
||||
EXTRA_MANS = @EXTRA_MANS@
|
||||
EXTRA_DIST += $(EXTRA_MANS:.1=.x)
|
||||
EXTRA_DIST += $(EXTRA_MANS) $(EXTRA_MANS:.1=.x)
|
||||
|
||||
ALL_MANS = $(man1_MANS) $(EXTRA_MANS)
|
||||
|
||||
CLEANFILES += $(ALL_MANS)
|
||||
MAINTAINERCLEANFILES += $(ALL_MANS)
|
||||
|
||||
# This is a kludge to remove generated 'man/*.1' from a non-srcdir build.
|
||||
# Without this, "make distcheck" might fail.
|
||||
@@ -179,13 +184,14 @@ endif
|
||||
## Note the use of $$t/$*, rather than just '$*' as in other packages.
|
||||
## That is necessary to avoid failures for programs that are also shell
|
||||
## built-in functions like echo, false, printf, pwd.
|
||||
rm -f $@ $@-t \
|
||||
rm -f $@-t \
|
||||
&& t=$*.td \
|
||||
&& rm -rf $$t \
|
||||
&& $(MKDIR_P) $$t \
|
||||
&& (cd $$t && $(LN_S) '$(abs_top_builddir)/src/'$$prog$(EXEEXT) \
|
||||
$$argv$(EXEEXT)) \
|
||||
&& : $${SOURCE_DATE_EPOCH=`cat $(srcdir)/.timestamp 2>/dev/null || :`} \
|
||||
&& : $${TZ=UTC0} && export TZ \
|
||||
&& export SOURCE_DATE_EPOCH && $(run_help2man) \
|
||||
--source='$(PACKAGE_STRING)' \
|
||||
--include=$(srcdir)/man/$$name.x \
|
||||
@@ -198,4 +204,4 @@ endif
|
||||
$$t/$$name.1 > $@-t \
|
||||
&& rm -rf $$t \
|
||||
&& chmod a-w $@-t \
|
||||
&& mv $@-t $@
|
||||
&& rm -f $@ && mv $@-t $@
|
||||
|
||||
8
man/rm.x
8
man/rm.x
@@ -1,7 +1,7 @@
|
||||
'\" Copyright (C) 1998-2017 Free Software Foundation, Inc.
|
||||
'\" Copyright (C) 1998-2018 Free Software Foundation, Inc.
|
||||
'\"
|
||||
'\" This is free software. You may redistribute copies of it under the terms
|
||||
'\" of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
|
||||
'\" of the GNU General Public License <https://www.gnu.org/licenses/gpl.html>.
|
||||
'\" There is NO WARRANTY, to the extent permitted by law.
|
||||
[NAME]
|
||||
rm \- remove files or directories
|
||||
@@ -13,7 +13,7 @@ documents the GNU version of
|
||||
removes each specified file. By default, it does not remove
|
||||
directories.
|
||||
.P
|
||||
If the \fI\-I\fR or \fI\-\-interactive\=once\fR option is given,
|
||||
If the \fI\-I\fR or \fI\-\-interactive=once\fR option is given,
|
||||
and there are more than three files or the \fI\-r\fR, \fI\-R\fR,
|
||||
or \fI\-\-recursive\fR are given, then
|
||||
.B rm
|
||||
@@ -22,7 +22,7 @@ the response is not affirmative, the entire command is aborted.
|
||||
.P
|
||||
Otherwise, if a file is unwritable, standard input is a terminal, and
|
||||
the \fI\-f\fR or \fI\-\-force\fR option is not given, or the
|
||||
\fI\-i\fR or \fI\-\-interactive\=always\fR option is given,
|
||||
\fI\-i\fR or \fI\-\-interactive=always\fR option is given,
|
||||
.B rm
|
||||
prompts the user for whether to remove the file. If the response is
|
||||
not affirmative, the file is skipped.
|
||||
|
||||
@@ -3,4 +3,4 @@ stat \- display file or file system status
|
||||
[DESCRIPTION]
|
||||
.\" Add any additional description here
|
||||
[SEE ALSO]
|
||||
stat(2)
|
||||
stat(2), statfs(2)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
'\" Copyright (C) 2009-2017 Free Software Foundation, Inc.
|
||||
'\" Copyright (C) 2009-2018 Free Software Foundation, Inc.
|
||||
'\"
|
||||
'\" This is free software. You may redistribute copies of it under the terms
|
||||
'\" of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
|
||||
'\" of the GNU General Public License <https://www.gnu.org/licenses/gpl.html>.
|
||||
'\" There is NO WARRANTY, to the extent permitted by law.
|
||||
[NAME]
|
||||
stdbuf \-
|
||||
|
||||
15
man/test.x
15
man/test.x
@@ -1,4 +1,19 @@
|
||||
[NAME]
|
||||
test \- check file types and compare values
|
||||
[SYNOPSIS]
|
||||
.B test
|
||||
.I EXPRESSION
|
||||
.br
|
||||
.B test
|
||||
.br
|
||||
.\" \& tells doclifter the brackets are literal (Bug#31803).
|
||||
.B [\&
|
||||
.I EXPRESSION
|
||||
.B ]\&
|
||||
.br
|
||||
.B "[\& ]\&"
|
||||
.br
|
||||
.B [\&
|
||||
.I OPTION
|
||||
[DESCRIPTION]
|
||||
.\" Add any additional description here
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# List of files which contain translatable strings.
|
||||
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
||||
|
||||
# These are nominally temporary...
|
||||
lib/argmatch.c
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/sh
|
||||
VERSION='2015-10-06 12:49' # UTC
|
||||
VERSION='2017-09-19 07:31' # UTC
|
||||
|
||||
# Building coreutils from a git-cloned directory may require versions of
|
||||
# tools like autoconf, automake, gettext, etc. that are newer than the ones
|
||||
@@ -26,12 +26,12 @@ prog_name=`basename $0`
|
||||
die () { echo "$prog_name: $*" >&2; exit 1; }
|
||||
|
||||
tarballs='
|
||||
http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz
|
||||
http://ftp.gnu.org/gnu/m4/m4-1.4.17.tar.gz
|
||||
http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
|
||||
http://ftp.gnu.org/gnu/automake/automake-1.15.tar.gz
|
||||
http://ftp.gnu.org/gnu/libtool/libtool-2.4.6.tar.gz
|
||||
http://ftp.gnu.org/gnu/gettext/gettext-0.19.6.tar.gz
|
||||
https://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz
|
||||
https://ftp.gnu.org/gnu/m4/m4-1.4.17.tar.gz
|
||||
https://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
|
||||
https://ftp.gnu.org/gnu/automake/automake-1.15.tar.gz
|
||||
https://ftp.gnu.org/gnu/libtool/libtool-2.4.6.tar.gz
|
||||
https://ftp.gnu.org/gnu/gettext/gettext-0.19.6.tar.gz
|
||||
'
|
||||
|
||||
usage() {
|
||||
|
||||
@@ -125,10 +125,13 @@ sub check_msg($$)
|
||||
|
||||
my $buf = join ("\n", @line) . "\n";
|
||||
$buf =~ m!https?://bugzilla\.redhat\.com/show_bug\.cgi\?id=(\d+)!s
|
||||
and return "use shorter http://bugzilla.redhat.com/$1";
|
||||
and return "use shorter https://bugzilla.redhat.com/$1";
|
||||
|
||||
$buf =~ m!https?://debbugs\.gnu\.org/(?:cgi/bugreport\.cgi\?bug=)?(\d+)!s
|
||||
and return "use shorter http://bugs.gnu.org/$1";
|
||||
and return "use shorter https://bugs.gnu.org/$1";
|
||||
|
||||
$buf =~ m!https://lists\.gnu\.org/archive/html/!s
|
||||
and return "use '/r/' in place of '/archive/html/' in lists.gnu.org URLs";
|
||||
|
||||
$buf =~ /^ *Signed-off-by:/mi
|
||||
and return q(do not use "Signed-off-by:");
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Base64 encode/decode strings or files.
|
||||
Copyright (C) 2004-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2004-2018 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Base64.
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Simon Josefsson <simon@josefsson.org>. */
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* basename -- strip directory and suffix from file names
|
||||
Copyright (C) 1990-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1990-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <config.h>
|
||||
#include <getopt.h>
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at
|
||||
your option. The terms of these licenses can be found at:
|
||||
|
||||
- CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
|
||||
- CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
||||
- OpenSSL license : https://www.openssl.org/source/license.html
|
||||
- Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
|
||||
- Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
More information about the BLAKE2 hash function can be found at
|
||||
https://blake2.net.
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at
|
||||
your option. The terms of these licenses can be found at:
|
||||
|
||||
- CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
|
||||
- CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
||||
- OpenSSL license : https://www.openssl.org/source/license.html
|
||||
- Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
|
||||
- Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
More information about the BLAKE2 hash function can be found at
|
||||
https://blake2.net.
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at
|
||||
your option. The terms of these licenses can be found at:
|
||||
|
||||
- CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
|
||||
- CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
||||
- OpenSSL license : https://www.openssl.org/source/license.html
|
||||
- Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
|
||||
- Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
More information about the BLAKE2 hash function can be found at
|
||||
https://blake2.net.
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at
|
||||
your option. The terms of these licenses can be found at:
|
||||
|
||||
- CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
|
||||
- CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
||||
- OpenSSL license : https://www.openssl.org/source/license.html
|
||||
- Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
|
||||
- Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
More information about the BLAKE2 hash function can be found at
|
||||
https://blake2.net.
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at
|
||||
your option. The terms of these licenses can be found at:
|
||||
|
||||
- CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
|
||||
- CC0 1.0 Universal : https://creativecommons.org/publicdomain/zero/1.0
|
||||
- OpenSSL license : https://www.openssl.org/source/license.html
|
||||
- Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
|
||||
- Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
More information about the BLAKE2 hash function can be found at
|
||||
https://blake2.net.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* cat -- concatenate files and print on the standard output.
|
||||
Copyright (C) 1988-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1988-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Differences from the Unix cat:
|
||||
* Always unbuffered, -u is ignored.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* chcon -- change security context of files
|
||||
Copyright (C) 2005-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2005-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <config.h>
|
||||
#include <stdio.h>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* chgrp -- change group ownership of files
|
||||
Copyright (C) 1989-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1989-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by David MacKenzie <djm@gnu.ai.mit.edu>. */
|
||||
|
||||
@@ -295,7 +295,7 @@ main (int argc, char **argv)
|
||||
else
|
||||
{
|
||||
char *group_name = argv[optind++];
|
||||
chopt.group_name = (*group_name ? group_name : NULL);
|
||||
chopt.group_name = (*group_name ? xstrdup (group_name) : NULL);
|
||||
gid = parse_group (group_name);
|
||||
}
|
||||
|
||||
@@ -313,7 +313,7 @@ main (int argc, char **argv)
|
||||
(uid_t) -1, gid,
|
||||
(uid_t) -1, (gid_t) -1, &chopt);
|
||||
|
||||
chopt_free (&chopt);
|
||||
IF_LINT (chopt_free (&chopt));
|
||||
|
||||
return ok ? EXIT_SUCCESS : EXIT_FAILURE;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* chmod -- change permission modes of files
|
||||
Copyright (C) 1989-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1989-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by David MacKenzie <djm@gnu.ai.mit.edu> */
|
||||
|
||||
@@ -566,5 +566,7 @@ main (int argc, char **argv)
|
||||
ok = process_files (argv + optind,
|
||||
FTS_COMFOLLOW | FTS_PHYSICAL | FTS_DEFER_STAT);
|
||||
|
||||
IF_LINT (free (change));
|
||||
|
||||
return ok ? EXIT_SUCCESS : EXIT_FAILURE;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* chown-core.c -- core functions for changing ownership.
|
||||
Copyright (C) 2000-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2000-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Extracted from chown.c/chgrp.c and librarified by Jim Meyering. */
|
||||
|
||||
@@ -67,10 +67,10 @@ chopt_init (struct Chown_option *chopt)
|
||||
}
|
||||
|
||||
extern void
|
||||
chopt_free (struct Chown_option *chopt _GL_UNUSED)
|
||||
chopt_free (struct Chown_option *chopt)
|
||||
{
|
||||
/* Deliberately do not free chopt->user_name or ->group_name.
|
||||
They're not always allocated. */
|
||||
free (chopt->user_name);
|
||||
free (chopt->group_name);
|
||||
}
|
||||
|
||||
/* Convert the numeric group-id, GID, to a string stored in xmalloc'd memory,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* chown-core.h -- types and prototypes shared by chown and chgrp.
|
||||
|
||||
Copyright (C) 2000-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2000-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef CHOWN_CORE_H
|
||||
# define CHOWN_CORE_H
|
||||
@@ -68,14 +68,14 @@ struct Chown_option
|
||||
void
|
||||
chopt_init (struct Chown_option *);
|
||||
|
||||
void _GL_ATTRIBUTE_PURE _GL_ATTRIBUTE_CONST
|
||||
void
|
||||
chopt_free (struct Chown_option *);
|
||||
|
||||
char *
|
||||
gid_to_name (gid_t);
|
||||
gid_to_name (gid_t) _GL_ATTRIBUTE_MALLOC;
|
||||
|
||||
char * _GL_ATTRIBUTE_PURE
|
||||
uid_to_name (uid_t);
|
||||
char *
|
||||
uid_to_name (uid_t) _GL_ATTRIBUTE_MALLOC;
|
||||
|
||||
bool
|
||||
chown_files (char **files, int bit_flags,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* chown -- change user and group ownership of files
|
||||
Copyright (C) 1989-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1989-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by David MacKenzie <djm@gnu.ai.mit.edu>. */
|
||||
|
||||
@@ -306,7 +306,7 @@ main (int argc, char **argv)
|
||||
empty string so that diagnostics say "ownership :GROUP"
|
||||
rather than "group GROUP". */
|
||||
if (!chopt.user_name && chopt.group_name)
|
||||
chopt.user_name = bad_cast ("");
|
||||
chopt.user_name = xstrdup ("");
|
||||
|
||||
optind++;
|
||||
}
|
||||
@@ -325,7 +325,7 @@ main (int argc, char **argv)
|
||||
uid, gid,
|
||||
required_uid, required_gid, &chopt);
|
||||
|
||||
chopt_free (&chopt);
|
||||
IF_LINT (chopt_free (&chopt));
|
||||
|
||||
return ok ? EXIT_SUCCESS : EXIT_FAILURE;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* chroot -- run command or shell with special root directory
|
||||
Copyright (C) 1995-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Roland McGrath. */
|
||||
|
||||
|
||||
11
src/cksum.c
11
src/cksum.c
@@ -1,5 +1,5 @@
|
||||
/* cksum -- calculate and print POSIX checksums and sizes of files
|
||||
Copyright (C) 1992-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1992-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Q. Frank Xia, qx@math.columbia.edu.
|
||||
Cosmetic changes and reorganization by David MacKenzie, djm@gnu.ai.mit.edu.
|
||||
@@ -107,6 +107,11 @@ main (void)
|
||||
# include "die.h"
|
||||
# include "error.h"
|
||||
|
||||
static struct option const long_options[] =
|
||||
{
|
||||
{NULL, 0, NULL, 0}
|
||||
};
|
||||
|
||||
/* Number of bytes to read at once. */
|
||||
# define BUFLEN (1 << 16)
|
||||
|
||||
@@ -291,7 +296,7 @@ main (int argc, char **argv)
|
||||
|
||||
parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE, Version,
|
||||
usage, AUTHORS, (char const *) NULL);
|
||||
if (getopt_long (argc, argv, "", NULL, NULL) != -1)
|
||||
if (getopt_long (argc, argv, "", long_options, NULL) != -1)
|
||||
usage (EXIT_FAILURE);
|
||||
|
||||
have_read_stdin = false;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* comm -- compare two sorted files line by line.
|
||||
Copyright (C) 1986-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1986-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Richard Stallman and David MacKenzie. */
|
||||
|
||||
|
||||
176
src/copy.c
176
src/copy.c
@@ -1,5 +1,5 @@
|
||||
/* copy.c -- core functions for copying files and directories
|
||||
Copyright (C) 1989-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1989-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Extracted from cp.c and librarified by Jim Meyering. */
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
#include "ignore-value.h"
|
||||
#include "ioblksize.h"
|
||||
#include "quote.h"
|
||||
#include "renameat2.h"
|
||||
#include "root-uid.h"
|
||||
#include "same.h"
|
||||
#include "savedir.h"
|
||||
@@ -1352,7 +1353,10 @@ preserve_metadata:
|
||||
bool access_changed = false;
|
||||
|
||||
if (!(sb.st_mode & S_IWUSR) && geteuid () != ROOT_UID)
|
||||
access_changed = fchmod_or_lchmod (dest_desc, dst_name, 0600) == 0;
|
||||
{
|
||||
access_changed = fchmod_or_lchmod (dest_desc, dst_name,
|
||||
S_IRUSR | S_IWUSR) == 0;
|
||||
}
|
||||
|
||||
if (!copy_attr (src_name, source_desc, dst_name, dest_desc, x)
|
||||
&& x->require_preserve_xattr)
|
||||
@@ -1375,9 +1379,9 @@ preserve_metadata:
|
||||
if (set_acl (dst_name, dest_desc, x->mode) != 0)
|
||||
return_val = false;
|
||||
}
|
||||
else if (x->explicit_no_preserve_mode)
|
||||
else if (x->explicit_no_preserve_mode && *new_dst)
|
||||
{
|
||||
if (set_acl (dst_name, dest_desc, 0666 & ~cached_umask ()) != 0)
|
||||
if (set_acl (dst_name, dest_desc, MODE_RW_UGO & ~cached_umask ()) != 0)
|
||||
return_val = false;
|
||||
}
|
||||
else if (omitted_permissions)
|
||||
@@ -1623,14 +1627,9 @@ same_file_ok (char const *src_name, struct stat const *src_sb,
|
||||
}
|
||||
}
|
||||
|
||||
/* It's ok to remove a destination symlink. But that works only
|
||||
when creating symbolic links, or when the source and destination
|
||||
are on the same file system and when creating hard links or when
|
||||
unlinking before opening the destination. */
|
||||
if (x->symbolic_link
|
||||
|| ((x->hard_link || x->unlink_dest_before_opening)
|
||||
&& S_ISLNK (dst_sb_link->st_mode)))
|
||||
return dst_sb_link->st_dev == src_sb_link->st_dev;
|
||||
/* It's ok to recreate a destination symlink. */
|
||||
if (x->symbolic_link && S_ISLNK (dst_sb_link->st_mode))
|
||||
return true;
|
||||
|
||||
if (x->dereference == DEREF_NEVER)
|
||||
{
|
||||
@@ -1647,10 +1646,13 @@ same_file_ok (char const *src_name, struct stat const *src_sb,
|
||||
if ( ! SAME_INODE (tmp_src_sb, tmp_dst_sb))
|
||||
return true;
|
||||
|
||||
/* FIXME: shouldn't this be testing whether we're making symlinks? */
|
||||
if (x->hard_link)
|
||||
{
|
||||
*return_now = true;
|
||||
/* It's ok to attempt to hardlink the same file,
|
||||
and return early if not replacing a symlink.
|
||||
Note we need to return early to avoid a later
|
||||
unlink() of DST (when SRC is a symlink). */
|
||||
*return_now = ! S_ISLNK (dst_sb_link->st_mode);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -1853,7 +1855,7 @@ copy_internal (char const *src_name, char const *dst_name,
|
||||
{
|
||||
struct stat src_sb;
|
||||
struct stat dst_sb;
|
||||
mode_t src_mode;
|
||||
mode_t src_mode IF_LINT ( = 0);
|
||||
mode_t dst_mode IF_LINT ( = 0);
|
||||
mode_t dst_mode_bits;
|
||||
mode_t omitted_permissions;
|
||||
@@ -1865,35 +1867,57 @@ copy_internal (char const *src_name, char const *dst_name,
|
||||
bool dest_is_symlink = false;
|
||||
bool have_dst_lstat = false;
|
||||
|
||||
if (x->move_mode && rename_succeeded)
|
||||
*rename_succeeded = false;
|
||||
|
||||
*copy_into_self = false;
|
||||
|
||||
if (XSTAT (x, src_name, &src_sb) != 0)
|
||||
int rename_errno = x->rename_errno;
|
||||
if (x->move_mode)
|
||||
{
|
||||
error (0, errno, _("cannot stat %s"), quoteaf (src_name));
|
||||
return false;
|
||||
if (rename_errno < 0)
|
||||
rename_errno = (renameat2 (AT_FDCWD, src_name, AT_FDCWD, dst_name,
|
||||
RENAME_NOREPLACE)
|
||||
? errno : 0);
|
||||
new_dst = rename_errno == 0;
|
||||
if (rename_succeeded)
|
||||
*rename_succeeded = new_dst;
|
||||
}
|
||||
|
||||
src_mode = src_sb.st_mode;
|
||||
|
||||
if (S_ISDIR (src_mode) && !x->recursive)
|
||||
if (rename_errno == 0
|
||||
? !x->last_file
|
||||
: rename_errno != EEXIST || x->interactive != I_ALWAYS_NO)
|
||||
{
|
||||
error (0, 0, ! x->install_mode /* cp */
|
||||
? _("-r not specified; omitting directory %s")
|
||||
: _("omitting directory %s"),
|
||||
quoteaf (src_name));
|
||||
return false;
|
||||
char const *name = rename_errno == 0 ? dst_name : src_name;
|
||||
if (XSTAT (x, name, &src_sb) != 0)
|
||||
{
|
||||
error (0, errno, _("cannot stat %s"), quoteaf (name));
|
||||
return false;
|
||||
}
|
||||
|
||||
src_mode = src_sb.st_mode;
|
||||
|
||||
if (S_ISDIR (src_mode) && !x->recursive)
|
||||
{
|
||||
error (0, 0, ! x->install_mode /* cp */
|
||||
? _("-r not specified; omitting directory %s")
|
||||
: _("omitting directory %s"),
|
||||
quoteaf (src_name));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
#ifdef lint
|
||||
else
|
||||
{
|
||||
assert (x->move_mode);
|
||||
memset (&src_sb, 0, sizeof src_sb);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Detect the case in which the same source file appears more than
|
||||
once on the command line and no backup option has been selected.
|
||||
If so, simply warn and don't copy it the second time.
|
||||
This check is enabled only if x->src_info is non-NULL. */
|
||||
if (command_line_arg)
|
||||
if (command_line_arg && x->src_info)
|
||||
{
|
||||
if ( ! S_ISDIR (src_sb.st_mode)
|
||||
if ( ! S_ISDIR (src_mode)
|
||||
&& x->backup_type == no_backups
|
||||
&& seen_file (x->src_info, src_name, &src_sb))
|
||||
{
|
||||
@@ -1909,49 +1933,55 @@ copy_internal (char const *src_name, char const *dst_name,
|
||||
|
||||
if (!new_dst)
|
||||
{
|
||||
/* Regular files can be created by writing through symbolic
|
||||
links, but other files cannot. So use stat on the
|
||||
destination when copying a regular file, and lstat otherwise.
|
||||
However, if we intend to unlink or remove the destination
|
||||
first, use lstat, since a copy won't actually be made to the
|
||||
destination in that case. */
|
||||
bool use_stat =
|
||||
((S_ISREG (src_mode)
|
||||
|| (x->copy_as_regular
|
||||
&& ! (S_ISDIR (src_mode) || S_ISLNK (src_mode))))
|
||||
&& ! (x->move_mode || x->symbolic_link || x->hard_link
|
||||
|| x->backup_type != no_backups
|
||||
|| x->unlink_dest_before_opening));
|
||||
if ((use_stat
|
||||
? stat (dst_name, &dst_sb)
|
||||
: lstat (dst_name, &dst_sb))
|
||||
!= 0)
|
||||
if (! (rename_errno == EEXIST && x->interactive == I_ALWAYS_NO))
|
||||
{
|
||||
if (errno != ENOENT)
|
||||
/* Regular files can be created by writing through symbolic
|
||||
links, but other files cannot. So use stat on the
|
||||
destination when copying a regular file, and lstat otherwise.
|
||||
However, if we intend to unlink or remove the destination
|
||||
first, use lstat, since a copy won't actually be made to the
|
||||
destination in that case. */
|
||||
bool use_lstat
|
||||
= ((! S_ISREG (src_mode)
|
||||
&& (! x->copy_as_regular
|
||||
|| S_ISDIR (src_mode) || S_ISLNK (src_mode)))
|
||||
|| x->move_mode || x->symbolic_link || x->hard_link
|
||||
|| x->backup_type != no_backups
|
||||
|| x->unlink_dest_before_opening);
|
||||
int fstatat_flags = use_lstat ? AT_SYMLINK_NOFOLLOW : 0;
|
||||
if (fstatat (AT_FDCWD, dst_name, &dst_sb, fstatat_flags) == 0)
|
||||
{
|
||||
error (0, errno, _("cannot stat %s"), quoteaf (dst_name));
|
||||
return false;
|
||||
have_dst_lstat = use_lstat;
|
||||
rename_errno = EEXIST;
|
||||
}
|
||||
else
|
||||
{
|
||||
new_dst = true;
|
||||
if (errno == ELOOP && x->unlink_dest_after_failed_open)
|
||||
/* leave new_dst=false so we unlink later. */;
|
||||
else if (errno != ENOENT)
|
||||
{
|
||||
error (0, errno, _("cannot stat %s"), quoteaf (dst_name));
|
||||
return false;
|
||||
}
|
||||
else
|
||||
new_dst = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{ /* Here, we know that dst_name exists, at least to the point
|
||||
that it is stat'able or lstat'able. */
|
||||
bool return_now;
|
||||
|
||||
have_dst_lstat = !use_stat;
|
||||
if (! same_file_ok (src_name, &src_sb, dst_name, &dst_sb,
|
||||
x, &return_now))
|
||||
if (rename_errno == EEXIST)
|
||||
{
|
||||
bool return_now = false;
|
||||
|
||||
if (x->interactive != I_ALWAYS_NO
|
||||
&& ! same_file_ok (src_name, &src_sb, dst_name, &dst_sb,
|
||||
x, &return_now))
|
||||
{
|
||||
error (0, 0, _("%s and %s are the same file"),
|
||||
quoteaf_n (0, src_name), quoteaf_n (1, dst_name));
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!S_ISDIR (src_mode) && x->update)
|
||||
if (x->update && !S_ISDIR (src_mode))
|
||||
{
|
||||
/* When preserving timestamps (but not moving within a file
|
||||
system), don't worry if the destination timestamp is
|
||||
@@ -2233,7 +2263,9 @@ copy_internal (char const *src_name, char const *dst_name,
|
||||
Also, with --recursive, record dev/ino of each command-line directory.
|
||||
We'll use that info to detect this problem: cp -R dir dir. */
|
||||
|
||||
if (x->recursive && S_ISDIR (src_mode))
|
||||
if (rename_errno == 0)
|
||||
earlier_file = NULL;
|
||||
else if (x->recursive && S_ISDIR (src_mode))
|
||||
{
|
||||
if (command_line_arg)
|
||||
earlier_file = remember_copied (dst_name, src_sb.st_ino, src_sb.st_dev);
|
||||
@@ -2319,7 +2351,10 @@ copy_internal (char const *src_name, char const *dst_name,
|
||||
|
||||
if (x->move_mode)
|
||||
{
|
||||
if (rename (src_name, dst_name) == 0)
|
||||
if (rename_errno == EEXIST)
|
||||
rename_errno = rename (src_name, dst_name) == 0 ? 0 : errno;
|
||||
|
||||
if (rename_errno == 0)
|
||||
{
|
||||
if (x->verbose)
|
||||
{
|
||||
@@ -2336,7 +2371,7 @@ copy_internal (char const *src_name, char const *dst_name,
|
||||
if (rename_succeeded)
|
||||
*rename_succeeded = true;
|
||||
|
||||
if (command_line_arg)
|
||||
if (command_line_arg && !x->last_file)
|
||||
{
|
||||
/* Record destination dev/ino/name, so that if we are asked
|
||||
to overwrite that file again, we can detect it and fail. */
|
||||
@@ -2356,7 +2391,7 @@ copy_internal (char const *src_name, char const *dst_name,
|
||||
|
||||
/* This happens when attempting to rename a directory to a
|
||||
subdirectory of itself. */
|
||||
if (errno == EINVAL)
|
||||
if (rename_errno == EINVAL)
|
||||
{
|
||||
/* FIXME: this is a little fragile in that it relies on rename(2)
|
||||
failing with a specific errno value. Expect problems on
|
||||
@@ -2391,7 +2426,7 @@ copy_internal (char const *src_name, char const *dst_name,
|
||||
where you'd replace '18' with the integer in parentheses that
|
||||
was output from the perl one-liner above.
|
||||
If necessary, of course, change '/tmp' to some other directory. */
|
||||
if (errno != EXDEV)
|
||||
if (rename_errno != EXDEV)
|
||||
{
|
||||
/* There are many ways this can happen due to a race condition.
|
||||
When something happens between the initial XSTAT and the
|
||||
@@ -2403,7 +2438,7 @@ copy_internal (char const *src_name, char const *dst_name,
|
||||
If the permissions on the directory containing the source or
|
||||
destination file are made too restrictive, the rename will
|
||||
fail. Etc. */
|
||||
error (0, errno,
|
||||
error (0, rename_errno,
|
||||
_("cannot move %s to %s"),
|
||||
quoteaf_n (0, src_name), quoteaf_n (1, dst_name));
|
||||
forget_created (src_sb.st_ino, src_sb.st_dev);
|
||||
@@ -2834,9 +2869,11 @@ copy_internal (char const *src_name, char const *dst_name,
|
||||
if (set_acl (dst_name, -1, x->mode) != 0)
|
||||
return false;
|
||||
}
|
||||
else if (x->explicit_no_preserve_mode)
|
||||
else if (x->explicit_no_preserve_mode && new_dst)
|
||||
{
|
||||
if (set_acl (dst_name, -1, 0777 & ~cached_umask ()) != 0)
|
||||
int default_permissions = S_ISDIR (src_mode) || S_ISSOCK (src_mode)
|
||||
? S_IRWXUGO : MODE_RW_UGO;
|
||||
if (set_acl (dst_name, -1, default_permissions & ~cached_umask ()) != 0)
|
||||
return false;
|
||||
}
|
||||
else
|
||||
@@ -2974,6 +3011,7 @@ cp_options_default (struct cp_options *x)
|
||||
#else
|
||||
x->chown_privileges = x->owner_privileges = (geteuid () == ROOT_UID);
|
||||
#endif
|
||||
x->rename_errno = -1;
|
||||
}
|
||||
|
||||
/* Return true if it's OK for chown to fail, where errno is
|
||||
|
||||
13
src/copy.h
13
src/copy.h
@@ -1,5 +1,5 @@
|
||||
/* core functions for copying files and directories
|
||||
Copyright (C) 1989-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1989-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Extracted from cp.c and librarified by Jim Meyering. */
|
||||
|
||||
@@ -249,6 +249,15 @@ struct cp_options
|
||||
such a symlink) and returns false. */
|
||||
bool open_dangling_dest_symlink;
|
||||
|
||||
/* If true, this is the last filed to be copied. mv uses this to
|
||||
avoid some unnecessary work. */
|
||||
bool last_file;
|
||||
|
||||
/* Zero if the source has already been renamed to the destination; a
|
||||
positive errno number if this failed with the given errno; -1 if
|
||||
no attempt has been made to rename. Always -1, except for mv. */
|
||||
int rename_errno;
|
||||
|
||||
/* Control creation of COW files. */
|
||||
enum Reflink_type reflink_mode;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* arch -- wrapper to uname with the right uname_mode.
|
||||
Copyright (C) 2014-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2014-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Alex Deymo <deymo@chromium.org>. */
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* dir -- wrapper to ls with the right ls_mode.
|
||||
Copyright (C) 2014-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2014-2018 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Alex Deymo <deymo@chromium.org>. */
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user