vapier      14/04/27 19:03:48

  Modified:             010_all_coreutils-tests.patch README.history
  Added:                025_all_coreutils-cp.patch
  Log:
  skip ls/stat-free-color test since sandbox breaks the strace counting #415487 
by Toralf Förster

Revision  Changes    Path
1.2                  src/patchsets/coreutils/8.22/010_all_coreutils-tests.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/coreutils/8.22/010_all_coreutils-tests.patch?rev=1.2&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/coreutils/8.22/010_all_coreutils-tests.patch?rev=1.2&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/coreutils/8.22/010_all_coreutils-tests.patch?r1=1.1&r2=1.2

Index: 010_all_coreutils-tests.patch
===================================================================
RCS file: 
/var/cvsroot/gentoo/src/patchsets/coreutils/8.22/010_all_coreutils-tests.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 010_all_coreutils-tests.patch       16 Dec 2013 07:21:57 -0000      1.1
+++ 010_all_coreutils-tests.patch       27 Apr 2014 19:03:48 -0000      1.2
@@ -24,3 +24,17 @@
  timeout 10 dd bs=1 seek=$DEV_OFLOW count=0 status=noxfer > "$device" 2> err
  test "$?" = "1" || fail=1
  echo "dd: 'standard output': cannot seek: Invalid argument
+
+running through strace and counting stat syscalls is off when using sandbox
+https://bugs.gentoo.org/415487
+--- a/tests/ls/stat-free-color.sh
++++ b/tests/ls/stat-free-color.sh
+@@ -19,6 +19,8 @@
+ . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
+ print_ver_ ls
+ 
++skip_ 'strace does not work under sandbox #415487'
++
+ # Note this list of _file name_ stat functions must be
+ # as cross platform as possible and so doesn't include
+ # fstatat64 as that's not available on aarch64 for example.



1.2                  src/patchsets/coreutils/8.22/README.history

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/coreutils/8.22/README.history?rev=1.2&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/coreutils/8.22/README.history?rev=1.2&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/coreutils/8.22/README.history?r1=1.1&r2=1.2

Index: README.history
===================================================================
RCS file: /var/cvsroot/gentoo/src/patchsets/coreutils/8.22/README.history,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- README.history      16 Dec 2013 07:21:57 -0000      1.1
+++ README.history      27 Apr 2014 19:03:48 -0000      1.2
@@ -1,3 +1,6 @@
+1.1            [pending]
+       U 010_all_coreutils-tests.patch
+
 1.0            16 Dec 2013
        + 003_all_coreutils-gentoo-uname.patch
        + 010_all_coreutils-tests.patch



1.1                  src/patchsets/coreutils/8.22/025_all_coreutils-cp.patch

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/coreutils/8.22/025_all_coreutils-cp.patch?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/coreutils/8.22/025_all_coreutils-cp.patch?rev=1.1&content-type=text/plain

Index: 025_all_coreutils-cp.patch
===================================================================
https://bugs.gentoo.org/508638

>From d0294ff3b90430750a631556277c75f1a555dd44 Mon Sep 17 00:00:00 2001
From: Paul Eggert <[email protected]>
Date: Thu, 3 Apr 2014 09:48:22 -0700
Subject: [PATCH] cp: don't reserve a device number

* src/copy.c (copy_internal): Replace dev_t arg DEVICE with struct
stat pointer arg PARENT.  All callers changed.  This removes an
unwarranted assumption that dev_t values of 0 cannot occur in file
systems.  See: http://bugs.gnu.org/17179
---
 src/copy.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/src/copy.c b/src/copy.c
index 781cc1e..d471a77 100644
--- a/src/copy.c
+++ b/src/copy.c
@@ -117,7 +117,7 @@ struct dir_list
 #define DEST_INFO_INITIAL_CAPACITY 61
 
 static bool copy_internal (char const *src_name, char const *dst_name,
-                           bool new_dst, dev_t device,
+                           bool new_dst, struct stat const *parent,
                            struct dir_list *ancestors,
                            const struct cp_options *x,
                            bool command_line_arg,
@@ -621,7 +621,7 @@ copy_dir (char const *src_name_in, char const *dst_name_in, 
bool new_dst,
       char *dst_name = file_name_concat (dst_name_in, namep, NULL);
       bool first_dir_created = *first_dir_created_per_command_line_arg;
 
-      ok &= copy_internal (src_name, dst_name, new_dst, src_sb->st_dev,
+      ok &= copy_internal (src_name, dst_name, new_dst, src_sb,
                            ancestors, &non_command_line_options, false,
                            &first_dir_created,
                            &local_copy_into_self, NULL);
@@ -1725,9 +1725,8 @@ should_dereference (const struct cp_options *x, bool 
command_line_arg)
 /* Copy the file SRC_NAME to the file DST_NAME.  The files may be of
    any type.  NEW_DST should be true if the file DST_NAME cannot
    exist because its parent directory was just created; NEW_DST should
-   be false if DST_NAME might already exist.  DEVICE is the device
-   number of the parent directory, or 0 if the parent of this file is
-   not known.  ANCESTORS points to a linked, null terminated list of
+   be false if DST_NAME might already exist.  A nonnull PARENT describes the
+   parent directory.  ANCESTORS points to a linked, null terminated list of
    devices and inodes of parent directories of SRC_NAME.  COMMAND_LINE_ARG
    is true iff SRC_NAME was specified on the command line.
    FIRST_DIR_CREATED_PER_COMMAND_LINE_ARG is both input and output.
@@ -1737,7 +1736,7 @@ should_dereference (const struct cp_options *x, bool 
command_line_arg)
 static bool
 copy_internal (char const *src_name, char const *dst_name,
                bool new_dst,
-               dev_t device,
+               struct stat const *parent,
                struct dir_list *ancestors,
                const struct cp_options *x,
                bool command_line_arg,
@@ -2434,7 +2433,7 @@ copy_internal (char const *src_name, char const *dst_name,
         }
 
       /* Decide whether to copy the contents of the directory.  */
-      if (x->one_file_system && device != 0 && device != src_sb.st_dev)
+      if (x->one_file_system && parent && parent->st_dev != src_sb.st_dev)
         {
           /* Here, we are crossing a file system boundary and cp's -x option
              is in effect: so don't copy the contents of this directory. */
@@ -2827,7 +2826,7 @@ copy (char const *src_name, char const *dst_name,
   top_level_dst_name = dst_name;
 
   bool first_dir_created_per_command_line_arg = false;
-  return copy_internal (src_name, dst_name, nonexistent_dst, 0, NULL,
+  return copy_internal (src_name, dst_name, nonexistent_dst, NULL, NULL,
                         options, true,
                         &first_dir_created_per_command_line_arg,
                         copy_into_self, rename_succeeded);
-- 
1.9.2





Reply via email to