rpms/coreutils/devel coreutils-7.4-install-SELinux.patch, NONE, 1.1 coreutils-7.4-ls-1U.patch, NONE, 1.1 coreutils.spec, 1.263, 1.264

Kamil Dudka kdudka at fedoraproject.org
Wed Aug 5 08:45:05 UTC 2009


Author: kdudka

Update of /cvs/extras/rpms/coreutils/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv14073

Modified Files:
	coreutils.spec 
Added Files:
	coreutils-7.4-install-SELinux.patch coreutils-7.4-ls-1U.patch 
Log Message:
- ls -1U with two or more arguments (or with -R or -s) works properly again
- install runs faster again with SELinux enabled (#479502)

coreutils-7.4-install-SELinux.patch:
 jm-macros.m4 |   16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

--- NEW FILE coreutils-7.4-install-SELinux.patch ---
diff -ruNp coreutils-7.4.orig/m4/jm-macros.m4 coreutils-7.4/m4/jm-macros.m4
--- coreutils-7.4.orig/m4/jm-macros.m4	2009-08-05 10:27:30.660795719 +0200
+++ coreutils-7.4/m4/jm-macros.m4	2009-08-05 10:30:46.912858189 +0200
@@ -47,7 +47,21 @@ AC_DEFUN([coreutils_MACROS],
   AC_CHECK_FUNCS_ONCE([directio])
 
   # Used by install.c.
-  AC_CHECK_FUNCS_ONCE([matchpathcon_init_prefix])
+  coreutils_saved_libs=$LIBS
+    LIBS="$LIBS $LIB_SELINUX"
+    AC_CHECK_FUNCS([matchpathcon_init_prefix], [],
+    [
+      case "$ac_cv_search_setfilecon:$ac_cv_header_selinux_selinux_h" in
+	no:*) # SELinux disabled
+	  ;;
+	*:no) # SELinux disabled
+	  ;;
+	*)
+	AC_MSG_WARN([SELinux enabled, but matchpathcon_init_prefix not found])
+	AC_MSG_WARN([The install utility may run slowly])
+      esac
+    ])
+  LIBS=$coreutils_saved_libs
 
   # Used by sort.c.
   AC_CHECK_FUNCS_ONCE([nl_langinfo])

coreutils-7.4-ls-1U.patch:
 src/ls.c           |   29 +++++++++++++++--------------
 tests/misc/ls-misc |   15 +++++++++++++--
 2 files changed, 28 insertions(+), 16 deletions(-)

--- NEW FILE coreutils-7.4-ls-1U.patch ---
diff -ruNp coreutils-7.4.orig/src/ls.c coreutils-7.4/src/ls.c
--- coreutils-7.4.orig/src/ls.c	2009-08-05 10:14:46.397545653 +0200
+++ coreutils-7.4/src/ls.c	2009-08-05 10:20:47.564858256 +0200
@@ -2480,6 +2480,19 @@ print_dir (char const *name, char const 
       DEV_INO_PUSH (dir_stat.st_dev, dir_stat.st_ino);
     }
 
+  if (recursive | print_dir_name)
+    {
+      if (!first)
+	DIRED_PUTCHAR ('\n');
+      first = false;
+      DIRED_INDENT ();
+      PUSH_CURRENT_DIRED_POS (&subdired_obstack);
+      dired_pos += quote_name (stdout, realname ? realname : name,
+			       dirname_quoting_options, NULL);
+      PUSH_CURRENT_DIRED_POS (&subdired_obstack);
+      DIRED_FPUTS_LITERAL (":\n", stdout);
+    }
+
   /* Read the directory entries, and insert the subfiles into the `cwd_file'
      table.  */
 
@@ -2519,7 +2532,8 @@ print_dir (char const *name, char const 
 		 ls uses constant memory while processing the entries of
 		 this directory.  Useful when there are many (millions)
 		 of entries in a directory.  */
-	      if (format == one_per_line && sort_type == sort_none)
+	      if (format == one_per_line && sort_type == sort_none
+		      && !print_block_size && !recursive)
 		{
 		  /* We must call sort_files in spite of
 		     "sort_type == sort_none" for its initialization
@@ -2555,19 +2569,6 @@ print_dir (char const *name, char const 
   if (recursive)
     extract_dirs_from_files (name, command_line_arg);
 
-  if (recursive | print_dir_name)
-    {
-      if (!first)
-	DIRED_PUTCHAR ('\n');
-      first = false;
-      DIRED_INDENT ();
-      PUSH_CURRENT_DIRED_POS (&subdired_obstack);
-      dired_pos += quote_name (stdout, realname ? realname : name,
-			       dirname_quoting_options, NULL);
-      PUSH_CURRENT_DIRED_POS (&subdired_obstack);
-      DIRED_FPUTS_LITERAL (":\n", stdout);
-    }
-
   if (format == long_format || print_block_size)
     {
       const char *p;
diff -ruNp coreutils-7.4.orig/tests/misc/ls-misc coreutils-7.4/tests/misc/ls-misc
--- coreutils-7.4.orig/tests/misc/ls-misc	2009-04-24 14:50:28.000000000 +0200
+++ coreutils-7.4/tests/misc/ls-misc	2009-08-05 10:20:47.564858256 +0200
@@ -18,6 +18,7 @@
 use strict;
 
 (my $program_name = $0) =~ s|.*/||;
+my $prog = 'ls';
 
 # Turn off localization of executable's output.
 @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3;
@@ -224,6 +225,18 @@ my @Tests =
       {PRE => sub { mk_file @v_files }},
       {POST => sub { unlink @v_files }},
       ],
+
+     # Test for the ls -1U bug fixed in coreutils-7.5.
+     # It is triggered only with -1U and with two or more arguments,
+     # at least one of which is a nonempty directory.
+     ['multi-arg-U1', '-U1 d no-such',
+      {OUT => "d:\nf\n"},
+      {ERR_SUBST=>'s/ch:.*/ch:/'},
+      {ERR => "$prog: cannot access no-such:\n"},
+      $mkdir_reg,
+      $rmdir_reg,
+      {EXIT => 2},
+     ],
     );
 
 # Start with an unset LS_COLORS environment variable.
@@ -232,8 +245,6 @@ delete $ENV{LS_COLORS};
 my $save_temps = $ENV{SAVE_TEMPS};
 my $verbose = $ENV{VERBOSE};
 
-my $prog = 'ls';
-
 setuid_setup;
 my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose);
 $fail


Index: coreutils.spec
===================================================================
RCS file: /cvs/extras/rpms/coreutils/devel/coreutils.spec,v
retrieving revision 1.263
retrieving revision 1.264
diff -u -p -r1.263 -r1.264
--- coreutils.spec	24 Jul 2009 19:30:04 -0000	1.263
+++ coreutils.spec	5 Aug 2009 08:45:05 -0000	1.264
@@ -1,7 +1,7 @@
 Summary: A set of basic GNU tools commonly used in shell scripts
 Name:    coreutils
 Version: 7.4
-Release: 4%{?dist}
+Release: 5%{?dist}
 License: GPLv3+
 Group:   System Environment/Base
 Url:     http://www.gnu.org/software/coreutils/
@@ -19,6 +19,8 @@ Source202:  coreutils-su-l.pamd
 Source203:  coreutils-runuser-l.pamd
 
 # From upstream
+Patch1: coreutils-7.4-ls-1U.patch
+Patch2: coreutils-7.4-install-SELinux.patch
 
 # Our patches
 Patch100: coreutils-6.10-configuration.patch
@@ -99,6 +101,8 @@ the old GNU fileutils, sh-utils, and tex
 %setup -q
 
 # From upstream
+%patch1 -p1 -b .ls-1U
+%patch2 -p1 -b .install-SELinux
 
 # Our patches
 %patch100 -p1 -b .configure
@@ -308,6 +312,10 @@ fi
 /sbin/runuser
 
 %changelog
+* Wed Aug 05 2009 Kamil Dudka <kdudka at redhat.com> - 7.4-5
+- ls -1U with two or more arguments (or with -R or -s) works properly again
+- install runs faster again with SELinux enabled (#479502)
+
 * Fri Jul 24 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 7.4-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
 




More information about the scm-commits mailing list