forked from pool/coreutils
Accepting request 282919 from Base:System
Automatic submission by obs-autosubmit OBS-URL: https://build.opensuse.org/request/show/282919 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/coreutils?expand=0&rev=108
This commit is contained in:
parent
04f53e7077
commit
2e683ab4eb
@ -76,7 +76,7 @@ Index: NEWS
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- NEWS.orig
|
--- NEWS.orig
|
||||||
+++ NEWS
|
+++ NEWS
|
||||||
@@ -172,6 +172,19 @@ GNU coreutils NEWS
|
@@ -180,6 +180,19 @@ GNU coreutils NEWS
|
||||||
--format=%T now reports the file system type, and tail -f now uses inotify,
|
--format=%T now reports the file system type, and tail -f now uses inotify,
|
||||||
rather than the default of issuing a warning and reverting to polling.
|
rather than the default of issuing a warning and reverting to polling.
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ Index: doc/coreutils.texi
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- doc/coreutils.texi.orig
|
--- doc/coreutils.texi.orig
|
||||||
+++ doc/coreutils.texi
|
+++ doc/coreutils.texi
|
||||||
@@ -16068,7 +16068,10 @@ On many systems, only the super-user can
|
@@ -16074,7 +16074,10 @@ On many systems, only the super-user can
|
||||||
some systems (e.g., FreeBSD) can be configured to allow certain regular
|
some systems (e.g., FreeBSD) can be configured to allow certain regular
|
||||||
users to use the @code{chroot} system call, and hence to run this program.
|
users to use the @code{chroot} system call, and hence to run this program.
|
||||||
Also, on Cygwin, anyone can run the @command{chroot} command, because the
|
Also, on Cygwin, anyone can run the @command{chroot} command, because the
|
||||||
@ -112,7 +112,7 @@ Index: doc/coreutils.texi
|
|||||||
Synopses:
|
Synopses:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
@@ -16078,10 +16081,11 @@ chroot @var{option}
|
@@ -16084,10 +16087,11 @@ chroot @var{option}
|
||||||
|
|
||||||
Ordinarily, file names are looked up starting at the root of the
|
Ordinarily, file names are looked up starting at the root of the
|
||||||
directory structure, i.e., @file{/}. @command{chroot} changes the root to
|
directory structure, i.e., @file{/}. @command{chroot} changes the root to
|
||||||
@ -128,7 +128,7 @@ Index: doc/coreutils.texi
|
|||||||
@var{command} must not be a special built-in utility
|
@var{command} must not be a special built-in utility
|
||||||
(@pxref{Special built-in utilities}).
|
(@pxref{Special built-in utilities}).
|
||||||
|
|
||||||
@@ -16090,6 +16094,14 @@ Options must precede operands.
|
@@ -16096,6 +16100,14 @@ Options must precede operands.
|
||||||
|
|
||||||
@table @samp
|
@table @samp
|
||||||
|
|
||||||
@ -143,7 +143,7 @@ Index: doc/coreutils.texi
|
|||||||
@item --userspec=@var{user}[:@var{group}]
|
@item --userspec=@var{user}[:@var{group}]
|
||||||
@opindex --userspec
|
@opindex --userspec
|
||||||
By default, @var{command} is run with the same credentials
|
By default, @var{command} is run with the same credentials
|
||||||
@@ -16100,13 +16112,13 @@ If a @var{user} is specified then the su
|
@@ -16106,13 +16118,13 @@ If a @var{user} is specified then the su
|
||||||
are set according to the system defined list for that user,
|
are set according to the system defined list for that user,
|
||||||
unless overridden with the @option{--groups} option.
|
unless overridden with the @option{--groups} option.
|
||||||
|
|
||||||
|
65
coreutils-df-doc-df-a-includes-duplicate-file-systems.patch
Normal file
65
coreutils-df-doc-df-a-includes-duplicate-file-systems.patch
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
Upstream patch for df(1) on top of v8.23, to be removed with v8.24.
|
||||||
|
http://git.sv.gnu.org/cgit/coreutils.git/commit/?id=097897bd2c9d
|
||||||
|
|
||||||
|
From 097897bd2c9de5723af24b3848d6d922a862064b Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
|
||||||
|
Date: Mon, 27 Oct 2014 11:41:09 +0000
|
||||||
|
Subject: [PATCH] doc: mention that df -a includes duplicate file systems
|
||||||
|
|
||||||
|
* src/df.c (usage): Mention that duplicate file systems are shown
|
||||||
|
with this option, not just dummy file systems.
|
||||||
|
* doc/coreutils.texi (df invocation): For the --all option, expand
|
||||||
|
on the class of normally suppressed mount entries that it includes.
|
||||||
|
|
||||||
|
Reported in http://bugs.debian.org/737399
|
||||||
|
---
|
||||||
|
doc/coreutils.texi | 12 ++++++++----
|
||||||
|
src/df.c | 4 ++--
|
||||||
|
2 files changed, 10 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
Index: doc/coreutils.texi
|
||||||
|
===================================================================
|
||||||
|
--- doc/coreutils.texi.orig
|
||||||
|
+++ doc/coreutils.texi
|
||||||
|
@@ -11184,11 +11184,15 @@ The program accepts the following option
|
||||||
|
@itemx --all
|
||||||
|
@opindex -a
|
||||||
|
@opindex --all
|
||||||
|
-@cindex automounter file systems
|
||||||
|
@cindex ignore file systems
|
||||||
|
-Include in the listing dummy file systems, which
|
||||||
|
-are omitted by default. Such file systems are typically special-purpose
|
||||||
|
-pseudo-file-systems, such as automounter entries.
|
||||||
|
+Include in the listing dummy, duplicate, or inaccessible file systems, which
|
||||||
|
+are omitted by default. Dummy file systems are typically special purpose
|
||||||
|
+pseudo file systems such as @samp{/proc}, with no associated storage.
|
||||||
|
+Duplicate file systems are local or remote file systems that are mounted
|
||||||
|
+at separate locations in the local file hierarchy, or bind mounted locations.
|
||||||
|
+Inaccessible file systems are those which are mounted but subsequently
|
||||||
|
+over-mounted by another file system at that point, or otherwise inaccessible
|
||||||
|
+due to permissions of the mount point etc.
|
||||||
|
|
||||||
|
@item -B @var{size}
|
||||||
|
@itemx --block-size=@var{size}
|
||||||
|
Index: src/df.c
|
||||||
|
===================================================================
|
||||||
|
--- src/df.c.orig
|
||||||
|
+++ src/df.c
|
||||||
|
@@ -648,7 +648,7 @@ filter_mount_list (bool devices_only)
|
||||||
|
> strlen (me->me_mountdir))
|
||||||
|
/* let an entry overmounted on a different device win... */
|
||||||
|
|| (! STREQ (devlist->me->me_devname, me->me_devname)
|
||||||
|
- /* ... but only when matching an exsiting mount point, to
|
||||||
|
+ /* ... but only when matching an existing mount point, to
|
||||||
|
avoid problematic replacement when given inaccurate mount
|
||||||
|
lists, seen with some chroot environments for example. */
|
||||||
|
&& STREQ (me->me_mountdir, devlist->me->me_mountdir)))
|
||||||
|
@@ -1396,7 +1396,7 @@ or all file systems by default.\n\
|
||||||
|
/* TRANSLATORS: The thousands and decimal separators are best
|
||||||
|
adjusted to an appropriate default for your locale. */
|
||||||
|
fputs (_("\
|
||||||
|
- -a, --all include dummy file systems\n\
|
||||||
|
+ -a, --all include pseudo, duplicate, inaccessible file systems\n\
|
||||||
|
-B, --block-size=SIZE scale sizes by SIZE before printing them; e.g.,\n\
|
||||||
|
'-BM' prints sizes in units of 1,048,576 bytes;\n\
|
||||||
|
see SIZE format below\n\
|
67
coreutils-df-improve-mount-point-selection.patch
Normal file
67
coreutils-df-improve-mount-point-selection.patch
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
Upstream patch for df(1) on top of v8.23, to be removed with v8.24.
|
||||||
|
http://git.sv.gnu.org/cgit/coreutils.git/commit/?id=ed1a495b3ccb
|
||||||
|
|
||||||
|
From ed1a495b3ccb2665a13229ca866f2115bd768d17 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
|
||||||
|
Date: Mon, 18 Aug 2014 17:59:26 +0100
|
||||||
|
Subject: [PATCH] df: improve mount point selection with inaccurate mount list
|
||||||
|
|
||||||
|
v8.23 has a test failure on Fedora rawhide build servers
|
||||||
|
in tests/df/skip-duplicate.sh. This was due to no '/'
|
||||||
|
entry being output by df. That was due to an inaccurate
|
||||||
|
/proc/mounts on the build environment as stat(/mnt/point)
|
||||||
|
identified all these /proc/mounts entries as having the
|
||||||
|
same device id:
|
||||||
|
|
||||||
|
/ rootfs
|
||||||
|
/ /dev/md1
|
||||||
|
/dev devtmpfs
|
||||||
|
/run tmpfs
|
||||||
|
/boot /dev/md0
|
||||||
|
/proc/filesystems /dev/md1
|
||||||
|
|
||||||
|
Since the device name on the right changes for a given id,
|
||||||
|
that causes the entries to be continually replaced, thus
|
||||||
|
resulting in no '/' entry. I'm guessing this is due to
|
||||||
|
the mock environment bind mounting unneeded or sensitive
|
||||||
|
items to a dummy file on the host / (/dev/md1) though
|
||||||
|
have not looked into those details.
|
||||||
|
|
||||||
|
So rather than relying on an accurate /proc/mounts,
|
||||||
|
the attached patch takes a more conservative replacement
|
||||||
|
approach and only swaps a new device entry when the
|
||||||
|
mount point matches. That should handle all practical
|
||||||
|
cases while also avoiding this situation.
|
||||||
|
|
||||||
|
* src/df.c (filter_mount_list): Only replace entries with
|
||||||
|
different device names when the mount point also matches.
|
||||||
|
---
|
||||||
|
src/df.c | 11 ++++++++---
|
||||||
|
1 file changed, 8 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
Index: src/df.c
|
||||||
|
===================================================================
|
||||||
|
--- src/df.c.orig
|
||||||
|
+++ src/df.c
|
||||||
|
@@ -640,13 +640,18 @@ filter_mount_list (bool devices_only)
|
||||||
|
|
||||||
|
if (devlist)
|
||||||
|
{
|
||||||
|
- /* ...let the shorter mountdir win. */
|
||||||
|
+ /* let "real" devices with '/' in the name win. */
|
||||||
|
if ((strchr (me->me_devname, '/')
|
||||||
|
&& ! strchr (devlist->me->me_devname, '/'))
|
||||||
|
+ /* let a shorter mountdir win. */
|
||||||
|
|| (strlen (devlist->me->me_mountdir)
|
||||||
|
> strlen (me->me_mountdir))
|
||||||
|
- /* or one overmounted on a different device. */
|
||||||
|
- || ! STREQ (devlist->me->me_devname, me->me_devname))
|
||||||
|
+ /* let an entry overmounted on a different device win... */
|
||||||
|
+ || (! STREQ (devlist->me->me_devname, me->me_devname)
|
||||||
|
+ /* ... but only when matching an exsiting mount point, to
|
||||||
|
+ avoid problematic replacement when given inaccurate mount
|
||||||
|
+ lists, seen with some chroot environments for example. */
|
||||||
|
+ && STREQ (me->me_mountdir, devlist->me->me_mountdir)))
|
||||||
|
{
|
||||||
|
/* Discard mount entry for existing device. */
|
||||||
|
discard_me = devlist->me;
|
70
coreutils-df-show-all-remote-file-systems.patch
Normal file
70
coreutils-df-show-all-remote-file-systems.patch
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
Upstream patch for df(1) on top of v8.23, to be removed with v8.24.
|
||||||
|
http://git.sv.gnu.org/cgit/coreutils.git/commit/?id=3ab3c7bb24b8
|
||||||
|
|
||||||
|
From 3ab3c7bb24b86ef2d2fede9fe26e3ee585db5411 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
|
||||||
|
Date: Mon, 27 Oct 2014 23:37:08 +0000
|
||||||
|
Subject: [PATCH] df: ensure -a shows all remote file system entries
|
||||||
|
|
||||||
|
commit v8.22-125-g9d736f8 printed placeholder "-" values
|
||||||
|
for device names that didn't match the preferred device name
|
||||||
|
for a particular mount point. However that was seen to erroneously
|
||||||
|
suppress values for aliased host names or exports, common with
|
||||||
|
remote file systems.
|
||||||
|
|
||||||
|
* src/df.c (me_for_dev): Rename from devname_for_dev() so that
|
||||||
|
we can determine the remoteness as well as the name for the
|
||||||
|
preferred mount entry.
|
||||||
|
(get_dev): Don't output place holder values when both
|
||||||
|
current and preferred mount entries are remote.
|
||||||
|
|
||||||
|
Reported in http://bugs.debian.org/737399
|
||||||
|
---
|
||||||
|
src/df.c | 17 ++++++++++-------
|
||||||
|
1 file changed, 10 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
Index: src/df.c
|
||||||
|
===================================================================
|
||||||
|
--- src/df.c.orig
|
||||||
|
+++ src/df.c
|
||||||
|
@@ -703,17 +703,17 @@ filter_mount_list (bool devices_only)
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Search a mount entry list for device id DEV.
|
||||||
|
- Return the corresponding device name if found or NULL if not. */
|
||||||
|
+ Return the corresponding mount entry if found or NULL if not. */
|
||||||
|
|
||||||
|
-static char const * _GL_ATTRIBUTE_PURE
|
||||||
|
-devname_for_dev (dev_t dev)
|
||||||
|
+static struct mount_entry const * _GL_ATTRIBUTE_PURE
|
||||||
|
+me_for_dev (dev_t dev)
|
||||||
|
{
|
||||||
|
struct devlist *dl = device_list;
|
||||||
|
|
||||||
|
while (dl)
|
||||||
|
{
|
||||||
|
if (dl->dev_num == dev)
|
||||||
|
- return dl->me->me_devname;
|
||||||
|
+ return dl->me;
|
||||||
|
dl = dl->next;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -928,12 +928,15 @@ get_dev (char const *disk, char const *m
|
||||||
|
else if (process_all && show_all_fs)
|
||||||
|
{
|
||||||
|
/* Ensure we don't output incorrect stats for over-mounted directories.
|
||||||
|
- Discard stats when the device name doesn't match. */
|
||||||
|
+ Discard stats when the device name doesn't match. Though don't
|
||||||
|
+ discard when used and current mount entries are both remote due
|
||||||
|
+ to the possibility of aliased host names or exports. */
|
||||||
|
struct stat sb;
|
||||||
|
if (stat (stat_file, &sb) == 0)
|
||||||
|
{
|
||||||
|
- char const * devname = devname_for_dev (sb.st_dev);
|
||||||
|
- if (devname && ! STREQ (devname, disk))
|
||||||
|
+ struct mount_entry const * dev_me = me_for_dev (sb.st_dev);
|
||||||
|
+ if (dev_me && ! STREQ (dev_me->me_devname, disk)
|
||||||
|
+ && (! dev_me->me_remote || ! me_remote))
|
||||||
|
{
|
||||||
|
fstype = "-";
|
||||||
|
fsu.fsu_blocksize = fsu.fsu_blocks = fsu.fsu_bfree =
|
250
coreutils-df-total-suppress-separate-remotes.patch
Normal file
250
coreutils-df-total-suppress-separate-remotes.patch
Normal file
@ -0,0 +1,250 @@
|
|||||||
|
Upstream patch for df(1) on top of v8.23, to be removed with v8.24.
|
||||||
|
http://git.sv.gnu.org/cgit/coreutils.git/commit/?id=2e81e6224340
|
||||||
|
|
||||||
|
From 2e81e62243409c5c574b899f52b08c000e4d99fd Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
|
||||||
|
Date: Wed, 29 Oct 2014 02:49:17 +0000
|
||||||
|
Subject: [PATCH] df: only suppress remote mounts of separate exports with
|
||||||
|
--total
|
||||||
|
|
||||||
|
* src/df.c (filter_mount_list): Separate remote locations are
|
||||||
|
generally explicitly mounted, so list each even if they share
|
||||||
|
the same remote device and thus storage. However with --total
|
||||||
|
keep the suppression to give a more accurate value for the
|
||||||
|
total storage available.
|
||||||
|
(usage): Expand on the new implications of --total and move
|
||||||
|
it in the options list according to alphabetic order.
|
||||||
|
doc/coreutils.texi (df invocation): Mention that --total impacts
|
||||||
|
on deduplication of remote file systems and also move location
|
||||||
|
according to alphabetic order.
|
||||||
|
* tests/df/skip-duplicates.sh: Add remote test cases.
|
||||||
|
* NEWS: Mention the change in behavior.
|
||||||
|
|
||||||
|
Reported in http://bugs.debian.org/737399
|
||||||
|
Reported in http://bugzilla.redhat.com/920806
|
||||||
|
Reported in http://bugzilla.opensuse.org/866010
|
||||||
|
Reported in http://bugzilla.opensuse.org/901905
|
||||||
|
---
|
||||||
|
NEWS | 8 ++++++++
|
||||||
|
doc/coreutils.texi | 28 +++++++++++++++-------------
|
||||||
|
src/df.c | 41 ++++++++++++++++++++++++++++-------------
|
||||||
|
tests/df/skip-duplicates.sh | 31 ++++++++++++++++++++++++++++---
|
||||||
|
4 files changed, 79 insertions(+), 29 deletions(-)
|
||||||
|
|
||||||
|
Index: NEWS
|
||||||
|
===================================================================
|
||||||
|
--- NEWS.orig
|
||||||
|
+++ NEWS
|
||||||
|
@@ -1,5 +1,13 @@
|
||||||
|
GNU coreutils NEWS -*- outline -*-
|
||||||
|
|
||||||
|
+** Changes in behavior
|
||||||
|
+
|
||||||
|
+ df no longer suppresses separate exports of the same remote device, as
|
||||||
|
+ these are generally explicitly mounted. The --total option does still
|
||||||
|
+ suppress duplicate remote file systems.
|
||||||
|
+ [suppression was introduced in coreutils-8.21]
|
||||||
|
+
|
||||||
|
+
|
||||||
|
* Noteworthy changes in release 8.23 (2014-07-18) [stable]
|
||||||
|
|
||||||
|
** Bug fixes
|
||||||
|
Index: doc/coreutils.texi
|
||||||
|
===================================================================
|
||||||
|
--- doc/coreutils.texi.orig
|
||||||
|
+++ doc/coreutils.texi
|
||||||
|
@@ -11202,19 +11202,6 @@ due to permissions of the mount point et
|
||||||
|
Scale sizes by @var{size} before printing them (@pxref{Block size}).
|
||||||
|
For example, @option{-BG} prints sizes in units of 1,073,741,824 bytes.
|
||||||
|
|
||||||
|
-@item --total
|
||||||
|
-@opindex --total
|
||||||
|
-@cindex grand total of disk size, usage and available space
|
||||||
|
-Print a grand total of all arguments after all arguments have
|
||||||
|
-been processed. This can be used to find out the total disk size, usage
|
||||||
|
-and available space of all listed devices.
|
||||||
|
-
|
||||||
|
-For the grand total line, @command{df} prints @samp{"total"} into the
|
||||||
|
-@var{source} column, and @samp{"-"} into the @var{target} column.
|
||||||
|
-If there is no @var{source} column (see @option{--output}), then
|
||||||
|
-@command{df} prints @samp{"total"} into the @var{target} column,
|
||||||
|
-if present.
|
||||||
|
-
|
||||||
|
@optHumanReadable
|
||||||
|
|
||||||
|
@item -H
|
||||||
|
@@ -11355,6 +11342,21 @@ some systems (notably SunOS), doing this
|
||||||
|
but in general this option makes @command{df} much slower, especially when
|
||||||
|
there are many or very busy file systems.
|
||||||
|
|
||||||
|
+@item --total
|
||||||
|
+@opindex --total
|
||||||
|
+@cindex grand total of disk size, usage and available space
|
||||||
|
+Print a grand total of all arguments after all arguments have
|
||||||
|
+been processed. This can be used to find out the total disk size, usage
|
||||||
|
+and available space of all listed devices. If no arguments are specified
|
||||||
|
+df will try harder to elide file systems insignificant to the total
|
||||||
|
+available space, by suppressing duplicate remote file systems.
|
||||||
|
+
|
||||||
|
+For the grand total line, @command{df} prints @samp{"total"} into the
|
||||||
|
+@var{source} column, and @samp{"-"} into the @var{target} column.
|
||||||
|
+If there is no @var{source} column (see @option{--output}), then
|
||||||
|
+@command{df} prints @samp{"total"} into the @var{target} column,
|
||||||
|
+if present.
|
||||||
|
+
|
||||||
|
@item -t @var{fstype}
|
||||||
|
@itemx --type=@var{fstype}
|
||||||
|
@opindex -t
|
||||||
|
Index: src/df.c
|
||||||
|
===================================================================
|
||||||
|
--- src/df.c.orig
|
||||||
|
+++ src/df.c
|
||||||
|
@@ -640,18 +640,28 @@ filter_mount_list (bool devices_only)
|
||||||
|
|
||||||
|
if (devlist)
|
||||||
|
{
|
||||||
|
- /* let "real" devices with '/' in the name win. */
|
||||||
|
- if ((strchr (me->me_devname, '/')
|
||||||
|
- && ! strchr (devlist->me->me_devname, '/'))
|
||||||
|
- /* let a shorter mountdir win. */
|
||||||
|
- || (strlen (devlist->me->me_mountdir)
|
||||||
|
- > strlen (me->me_mountdir))
|
||||||
|
- /* let an entry overmounted on a different device win... */
|
||||||
|
- || (! STREQ (devlist->me->me_devname, me->me_devname)
|
||||||
|
- /* ... but only when matching an existing mount point, to
|
||||||
|
- avoid problematic replacement when given inaccurate mount
|
||||||
|
- lists, seen with some chroot environments for example. */
|
||||||
|
- && STREQ (me->me_mountdir, devlist->me->me_mountdir)))
|
||||||
|
+ if (! print_grand_total && me->me_remote && devlist->me->me_remote
|
||||||
|
+ && ! STREQ (devlist->me->me_devname, me->me_devname))
|
||||||
|
+ {
|
||||||
|
+ /* Don't discard remote entries with different locations,
|
||||||
|
+ as these are more likely to be explicitly mounted.
|
||||||
|
+ However avoid this when producing a total to give
|
||||||
|
+ a more accurate value in that case. */
|
||||||
|
+ }
|
||||||
|
+ else if ((strchr (me->me_devname, '/')
|
||||||
|
+ /* let "real" devices with '/' in the name win. */
|
||||||
|
+ && ! strchr (devlist->me->me_devname, '/'))
|
||||||
|
+ /* let a shorter mountdir win. */
|
||||||
|
+ || (strlen (devlist->me->me_mountdir)
|
||||||
|
+ > strlen (me->me_mountdir))
|
||||||
|
+ /* let an entry overmounted on a new device win... */
|
||||||
|
+ || (! STREQ (devlist->me->me_devname, me->me_devname)
|
||||||
|
+ /* ... but only when matching an existing mnt point,
|
||||||
|
+ to avoid problematic replacement when given
|
||||||
|
+ inaccurate mount lists, seen with some chroot
|
||||||
|
+ environments for example. */
|
||||||
|
+ && STREQ (me->me_mountdir,
|
||||||
|
+ devlist->me->me_mountdir)))
|
||||||
|
{
|
||||||
|
/* Discard mount entry for existing device. */
|
||||||
|
discard_me = devlist->me;
|
||||||
|
@@ -1403,7 +1413,6 @@ or all file systems by default.\n\
|
||||||
|
-B, --block-size=SIZE scale sizes by SIZE before printing them; e.g.,\n\
|
||||||
|
'-BM' prints sizes in units of 1,048,576 bytes;\n\
|
||||||
|
see SIZE format below\n\
|
||||||
|
- --total produce a grand total\n\
|
||||||
|
-h, --human-readable print sizes in powers of 1024 (e.g., 1023M)\n\
|
||||||
|
-H, --si print sizes in powers of 1000 (e.g., 1.1G)\n\
|
||||||
|
"), stdout);
|
||||||
|
@@ -1419,6 +1428,12 @@ or all file systems by default.\n\
|
||||||
|
or print all fields if FIELD_LIST is omitted.\n\
|
||||||
|
-P, --portability use the POSIX output format\n\
|
||||||
|
--sync invoke sync before getting usage info\n\
|
||||||
|
+"), stdout);
|
||||||
|
+ fputs (_("\
|
||||||
|
+ --total elide all entries insignificant to available space,\n\
|
||||||
|
+ and produce a grand total\n\
|
||||||
|
+"), stdout);
|
||||||
|
+ fputs (_("\
|
||||||
|
-t, --type=TYPE limit listing to file systems of type TYPE\n\
|
||||||
|
-T, --print-type print file system type\n\
|
||||||
|
-x, --exclude-type=TYPE limit listing to file systems not of type TYPE\n\
|
||||||
|
Index: tests/df/skip-duplicates.sh
|
||||||
|
===================================================================
|
||||||
|
--- tests/df/skip-duplicates.sh.orig
|
||||||
|
+++ tests/df/skip-duplicates.sh
|
||||||
|
@@ -26,7 +26,12 @@ require_gcc_shared_
|
||||||
|
df --local || skip_ "df fails"
|
||||||
|
|
||||||
|
export CU_NONROOT_FS=$(df --local --output=target 2>&1 | grep /. | head -n1)
|
||||||
|
-test -z "$CU_NONROOT_FS" && unique_entries=1 || unique_entries=2
|
||||||
|
+export CU_REMOTE_FS=$(df --local --output=target 2>&1 | grep /. |
|
||||||
|
+ tail -n+2 | head -n1)
|
||||||
|
+
|
||||||
|
+unique_entries=1
|
||||||
|
+test -z "$CU_NONROOT_FS" || unique_entries=$(expr $unique_entries + 1)
|
||||||
|
+test -z "$CU_REMOTE_FS" || unique_entries=$(expr $unique_entries + 2)
|
||||||
|
|
||||||
|
grep '^#define HAVE_MNTENT_H 1' $CONFIG_HEADER > /dev/null \
|
||||||
|
|| skip_ "no mntent.h available to confirm the interface"
|
||||||
|
@@ -46,6 +51,7 @@ cat > k.c <<'EOF' || framework_failure_
|
||||||
|
struct mntent *getmntent (FILE *fp)
|
||||||
|
{
|
||||||
|
static char *nonroot_fs;
|
||||||
|
+ static char *remote_fs;
|
||||||
|
static int done;
|
||||||
|
|
||||||
|
/* Prove that LD_PRELOAD works. */
|
||||||
|
@@ -63,6 +69,9 @@ struct mntent *getmntent (FILE *fp)
|
||||||
|
{.mnt_fsname="virtfs", .mnt_dir="/NONROOT", .mnt_type="fstype1"},
|
||||||
|
{.mnt_fsname="virtfs2", .mnt_dir="/NONROOT", .mnt_type="fstype2"},
|
||||||
|
{.mnt_fsname="netns", .mnt_dir="net:[1234567]"},
|
||||||
|
+ {.mnt_fsname="rem:ote1",.mnt_dir="/REMOTE"},
|
||||||
|
+ {.mnt_fsname="rem:ote1",.mnt_dir="/REMOTE"},
|
||||||
|
+ {.mnt_fsname="rem:ote2",.mnt_dir="/REMOTE"},
|
||||||
|
};
|
||||||
|
|
||||||
|
if (done == 1)
|
||||||
|
@@ -70,17 +79,26 @@ struct mntent *getmntent (FILE *fp)
|
||||||
|
nonroot_fs = getenv ("CU_NONROOT_FS");
|
||||||
|
if (!nonroot_fs || !*nonroot_fs)
|
||||||
|
nonroot_fs = "/"; /* merge into / entries. */
|
||||||
|
+
|
||||||
|
+ remote_fs = getenv ("CU_REMOTE_FS");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (done == 1 && !getenv ("CU_TEST_DUPE_INVALID"))
|
||||||
|
done++; /* skip the first entry. */
|
||||||
|
|
||||||
|
- while (done++ <= 7)
|
||||||
|
+ while (done++ <= 10)
|
||||||
|
{
|
||||||
|
if (!mntents[done-2].mnt_type)
|
||||||
|
mntents[done-2].mnt_type = "-";
|
||||||
|
if (STREQ (mntents[done-2].mnt_dir, "/NONROOT"))
|
||||||
|
mntents[done-2].mnt_dir = nonroot_fs;
|
||||||
|
+ if (STREQ (mntents[done-2].mnt_dir, "/REMOTE"))
|
||||||
|
+ {
|
||||||
|
+ if (!remote_fs || !*remote_fs)
|
||||||
|
+ continue;
|
||||||
|
+ else
|
||||||
|
+ mntents[done-2].mnt_dir = remote_fs;
|
||||||
|
+ }
|
||||||
|
return &mntents[done-2];
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -102,6 +120,12 @@ test -f x || skip_ "internal test failur
|
||||||
|
LD_PRELOAD=./k.so df -T >out || fail=1
|
||||||
|
test $(wc -l <out) -eq $(expr 1 + $unique_entries) || { fail=1; cat out; }
|
||||||
|
|
||||||
|
+# With --total we should suppress the duplicate but separate remote file system
|
||||||
|
+LD_PRELOAD=./k.so df --total >out || fail=1
|
||||||
|
+test "$CU_REMOTE_FS" && elide_remote=1 || elide_remote=0
|
||||||
|
+test $(wc -l <out) -eq $(expr 2 + $unique_entries - $elide_remote) ||
|
||||||
|
+ { fail=1; cat out; }
|
||||||
|
+
|
||||||
|
# Ensure we don't fail when unable to stat (currently) unavailable entries
|
||||||
|
LD_PRELOAD=./k.so CU_TEST_DUPE_INVALID=1 df -T >out || fail=1
|
||||||
|
test $(wc -l <out) -eq $(expr 1 + $unique_entries) || { fail=1; cat out; }
|
||||||
|
@@ -118,7 +142,8 @@ test $(grep -c 'virtfs2.*fstype2' <out)
|
||||||
|
|
||||||
|
# Ensure that filtering duplicates does not affect -a processing.
|
||||||
|
LD_PRELOAD=./k.so df -a >out || fail=1
|
||||||
|
-test $(wc -l <out) -eq 6 || { fail=1; cat out; }
|
||||||
|
+total_fs=6; test "$CU_REMOTE_FS" && total_fs=$(expr $total_fs + 3)
|
||||||
|
+test $(wc -l <out) -eq $total_fs || { fail=1; cat out; }
|
||||||
|
# Ensure placeholder "-" values used for the eclipsed "virtfs"
|
||||||
|
test $(grep -c 'virtfs *-' <out) -eq 1 || { fail=1; cat out; }
|
||||||
|
|
@ -17,12 +17,12 @@ Also ensure that we use the standard exit procedure
|
|||||||
upon failure to avoid any erroneous diagnostics due
|
upon failure to avoid any erroneous diagnostics due
|
||||||
to persistent files on NFS.
|
to persistent files on NFS.
|
||||||
---
|
---
|
||||||
tests/tail-2/inotify-rotate.sh | 45 +++++++++++++++++++++++-------------------
|
tests/tail-2/inotify-rotate.sh | 45 ++++++++++++++++++++++-------------------
|
||||||
1 file changed, 25 insertions(+), 20 deletions(-)
|
1 file changed, 25 insertions(+), 20 deletions(-)
|
||||||
|
|
||||||
diff --git tests/tail-2/inotify-rotate.sh b/tests/tail-2/inotify-rotate.sh
|
Index: tests/tail-2/inotify-rotate.sh
|
||||||
index 1c942cc..6b539a6 100755
|
===================================================================
|
||||||
--- tests/tail-2/inotify-rotate.sh
|
--- tests/tail-2/inotify-rotate.sh.orig
|
||||||
+++ tests/tail-2/inotify-rotate.sh
|
+++ tests/tail-2/inotify-rotate.sh
|
||||||
@@ -22,48 +22,53 @@ if test "$VERBOSE" = yes; then
|
@@ -22,48 +22,53 @@ if test "$VERBOSE" = yes; then
|
||||||
fi
|
fi
|
||||||
@ -98,6 +98,3 @@ index 1c942cc..6b539a6 100755
|
|||||||
done
|
done
|
||||||
|
|
||||||
wait
|
wait
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jan 19 23:06:22 UTC 2015 - mail@bernhard-voelker.de
|
||||||
|
|
||||||
|
- Add upstream patches for df(1) from upstream, thus aligning with SLES12:
|
||||||
|
* df: improve mount point selection with inaccurate mount list:
|
||||||
|
- coreutils-df-improve-mount-point-selection.patch
|
||||||
|
* doc: mention that df -a includes duplicate file systems (deb#737399)
|
||||||
|
- coreutils-df-doc-df-a-includes-duplicate-file-systems.patch
|
||||||
|
* df: ensure -a shows all remote file system entries (deb#737399)
|
||||||
|
- coreutils-df-show-all-remote-file-systems.patch
|
||||||
|
* df: only suppress remote mounts of separate exports with --total
|
||||||
|
(deb#737399, rh#920806, boo#866010, boo#901905)
|
||||||
|
- coreutils-df-total-suppress-separate-remotes.patch
|
||||||
|
- Refresh patches:
|
||||||
|
* coreutils-chroot-perform-chdir-unless-skip-chdir.patch
|
||||||
|
* coreutils-tests-make-inotify-rotate-more-robust-and-efficient.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sat Nov 1 00:20:55 UTC 2014 - mail@bernhard-voelker.de
|
Sat Nov 1 00:20:55 UTC 2014 - mail@bernhard-voelker.de
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package coreutils-testsuite
|
# spec file for package coreutils-testsuite
|
||||||
#
|
#
|
||||||
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -107,6 +107,12 @@ Patch112: coreutils-getaddrinfo.patch
|
|||||||
# Assorted fixes
|
# Assorted fixes
|
||||||
Patch113: coreutils-misc.patch
|
Patch113: coreutils-misc.patch
|
||||||
|
|
||||||
|
# Upstream patches for df(1) on top of v8.23, thus aligning with SLES12.
|
||||||
|
Patch201: coreutils-df-improve-mount-point-selection.patch
|
||||||
|
Patch202: coreutils-df-doc-df-a-includes-duplicate-file-systems.patch
|
||||||
|
Patch203: coreutils-df-show-all-remote-file-systems.patch
|
||||||
|
Patch204: coreutils-df-total-suppress-separate-remotes.patch
|
||||||
|
|
||||||
# Skip 2 valgrind'ed sort tests on ppc/ppc64 which would fail due to
|
# Skip 2 valgrind'ed sort tests on ppc/ppc64 which would fail due to
|
||||||
# a glibc issue in mkstemp.
|
# a glibc issue in mkstemp.
|
||||||
Patch300: coreutils-skip-some-sort-tests-on-ppc.patch
|
Patch300: coreutils-skip-some-sort-tests-on-ppc.patch
|
||||||
@ -169,6 +175,11 @@ the GNU fileutils, sh-utils, and textutils packages.
|
|||||||
%patch112
|
%patch112
|
||||||
%patch113
|
%patch113
|
||||||
|
|
||||||
|
%patch201
|
||||||
|
%patch202
|
||||||
|
%patch203
|
||||||
|
%patch204
|
||||||
|
|
||||||
%patch300
|
%patch300
|
||||||
|
|
||||||
%ifarch %ix86 x86_64 ppc ppc64
|
%ifarch %ix86 x86_64 ppc ppc64
|
||||||
|
@ -1,3 +1,20 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jan 19 23:06:22 UTC 2015 - mail@bernhard-voelker.de
|
||||||
|
|
||||||
|
- Add upstream patches for df(1) from upstream, thus aligning with SLES12:
|
||||||
|
* df: improve mount point selection with inaccurate mount list:
|
||||||
|
- coreutils-df-improve-mount-point-selection.patch
|
||||||
|
* doc: mention that df -a includes duplicate file systems (deb#737399)
|
||||||
|
- coreutils-df-doc-df-a-includes-duplicate-file-systems.patch
|
||||||
|
* df: ensure -a shows all remote file system entries (deb#737399)
|
||||||
|
- coreutils-df-show-all-remote-file-systems.patch
|
||||||
|
* df: only suppress remote mounts of separate exports with --total
|
||||||
|
(deb#737399, rh#920806, boo#866010, boo#901905)
|
||||||
|
- coreutils-df-total-suppress-separate-remotes.patch
|
||||||
|
- Refresh patches:
|
||||||
|
* coreutils-chroot-perform-chdir-unless-skip-chdir.patch
|
||||||
|
* coreutils-tests-make-inotify-rotate-more-robust-and-efficient.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sat Nov 1 00:20:55 UTC 2014 - mail@bernhard-voelker.de
|
Sat Nov 1 00:20:55 UTC 2014 - mail@bernhard-voelker.de
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package coreutils
|
# spec file for package coreutils
|
||||||
#
|
#
|
||||||
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -107,6 +107,12 @@ Patch112: coreutils-getaddrinfo.patch
|
|||||||
# Assorted fixes
|
# Assorted fixes
|
||||||
Patch113: coreutils-misc.patch
|
Patch113: coreutils-misc.patch
|
||||||
|
|
||||||
|
# Upstream patches for df(1) on top of v8.23, thus aligning with SLES12.
|
||||||
|
Patch201: coreutils-df-improve-mount-point-selection.patch
|
||||||
|
Patch202: coreutils-df-doc-df-a-includes-duplicate-file-systems.patch
|
||||||
|
Patch203: coreutils-df-show-all-remote-file-systems.patch
|
||||||
|
Patch204: coreutils-df-total-suppress-separate-remotes.patch
|
||||||
|
|
||||||
# Skip 2 valgrind'ed sort tests on ppc/ppc64 which would fail due to
|
# Skip 2 valgrind'ed sort tests on ppc/ppc64 which would fail due to
|
||||||
# a glibc issue in mkstemp.
|
# a glibc issue in mkstemp.
|
||||||
Patch300: coreutils-skip-some-sort-tests-on-ppc.patch
|
Patch300: coreutils-skip-some-sort-tests-on-ppc.patch
|
||||||
@ -169,6 +175,11 @@ the GNU fileutils, sh-utils, and textutils packages.
|
|||||||
%patch112
|
%patch112
|
||||||
%patch113
|
%patch113
|
||||||
|
|
||||||
|
%patch201
|
||||||
|
%patch202
|
||||||
|
%patch203
|
||||||
|
%patch204
|
||||||
|
|
||||||
%patch300
|
%patch300
|
||||||
|
|
||||||
%ifarch %ix86 x86_64 ppc ppc64
|
%ifarch %ix86 x86_64 ppc ppc64
|
||||||
|
Loading…
Reference in New Issue
Block a user