Blob Blame History Raw
diff -urNp coreutils-8.12-orig/src/copy.c coreutils-8.12/src/copy.c
--- coreutils-8.12-orig/src/copy.c	2011-08-11 16:05:15.432485738 +0200
+++ coreutils-8.12/src/copy.c	2011-08-11 16:14:28.660360607 +0200
@@ -850,7 +850,7 @@ copy_reg (char const *src_name, char con
          1) the src context may prohibit writing, and
          2) because it's more consistent to use the same context
          that is used when the destination file doesn't already exist.  */
-      if (x->preserve_security_context && 0 <= dest_desc)
+      if ((x->set_security_context || x->preserve_security_context) && 0 <= dest_desc)
         {
           bool all_errors = (!x->data_copy_required
                              || x->require_preserve_context);
diff -urNp coreutils-8.12-orig/src/cp.c coreutils-8.12/src/cp.c
--- coreutils-8.12-orig/src/cp.c	2011-08-11 16:05:15.435486976 +0200
+++ coreutils-8.12/src/cp.c	2011-08-11 16:16:56.408644526 +0200
@@ -1119,6 +1119,7 @@ main (int argc, char **argv)
             exit( 1 );
          }
          x.set_security_context = true;
+         (void) fprintf(stderr, _("Warning, -Z/--context option is deprecated and will be removed soon!\nPlease use 'install' utility instead of cp for this functionality.\n"));
          /* if there's a security_context given set new path 
             components to that context, too */
          if ( setfscreatecon(optarg) < 0 ) {