various changes(colors in ls, ACL/scontext in ls, longoptions for
echo/sleep), see changelog for details
This commit is contained in:
parent
60a1909547
commit
5d66c4cfdf
27
coreutils-6.10-longoptions.patch
Normal file
27
coreutils-6.10-longoptions.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
diff -urp coreutils-6.10-orig/src/echo.c coreutils-6.10/src/echo.c
|
||||||
|
--- coreutils-6.10-orig/src/echo.c 2007-11-25 14:23:31.000000000 +0100
|
||||||
|
+++ coreutils-6.10/src/echo.c 2008-01-31 14:01:52.000000000 +0100
|
||||||
|
@@ -163,6 +163,10 @@ main (int argc, char **argv)
|
||||||
|
{
|
||||||
|
case 'e': case 'E': case 'n':
|
||||||
|
break;
|
||||||
|
+ case '-':
|
||||||
|
+ /* end of short options(allows to print -n,-e or -E) */
|
||||||
|
+ argc--;
|
||||||
|
+ argv++;
|
||||||
|
default:
|
||||||
|
goto just_echo;
|
||||||
|
}
|
||||||
|
diff -urp coreutils-6.10-orig/lib/long-options.c coreutils-6.10/lib/long-options.c
|
||||||
|
--- coreutils-6.10-orig/lib/long-options.c 2007-10-17 15:47:26.000000000 +0200
|
||||||
|
+++ coreutils-6.10/lib/long-options.c 2008-01-31 14:28:01.000000000 +0100
|
||||||
|
@@ -57,8 +57,7 @@ parse_long_options (int argc,
|
||||||
|
/* Don't print an error message for unrecognized options. */
|
||||||
|
opterr = 0;
|
||||||
|
|
||||||
|
- if (argc == 2
|
||||||
|
- && (c = getopt_long (argc, argv, "+", long_options, NULL)) != -1)
|
||||||
|
+ while ((c = getopt_long (argc, argv, "+", long_options, NULL)) != -1)
|
||||||
|
{
|
||||||
|
switch (c)
|
||||||
|
{
|
@ -1,21 +1,40 @@
|
|||||||
|
#! /bin/csh -f
|
||||||
# color-ls initialization
|
# color-ls initialization
|
||||||
|
if ( "$LS_COLORS" != '' ) then
|
||||||
|
#do not override user specified LS_COLORS and use them
|
||||||
|
alias ll 'ls -l --color=tty'
|
||||||
|
alias l. 'ls -d .* --color=tty'
|
||||||
|
alias ls 'ls --color=tty'
|
||||||
|
exit
|
||||||
|
endif
|
||||||
|
|
||||||
alias ll 'ls -l'
|
alias ll 'ls -l'
|
||||||
alias l. 'ls -d .*'
|
alias l. 'ls -d .*'
|
||||||
|
|
||||||
set COLORS=/etc/DIR_COLORS
|
set COLORS=/etc/DIR_COLORS
|
||||||
if ($?TERM) then
|
if ($?TERM) then
|
||||||
if ( -e "/etc/DIR_COLORS.$TERM" ) set COLORS="/etc/DIR_COLORS.$TERM"
|
if ( -e "/etc/DIR_COLORS.$TERM" ) then
|
||||||
|
set COLORS="/etc/DIR_COLORS.$TERM"
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
if ( -f ~/.dircolors ) set COLORS=~/.dircolors
|
if ( -f ~/.dircolors ) then
|
||||||
if ($?TERM) then
|
set COLORS=~/.dircolors
|
||||||
if ( -f ~/.dircolors."$TERM" ) set COLORS=~/.dircolors."$TERM"
|
endif
|
||||||
|
if ( -f ~/.dir_colors ) then
|
||||||
|
set COLORS=~/.dir_colors
|
||||||
endif
|
endif
|
||||||
if ( -f ~/.dir_colors ) set COLORS=~/.dir_colors
|
|
||||||
if ($?TERM) then
|
if ($?TERM) then
|
||||||
if ( -f ~/.dir_colors."$TERM" ) set COLORS=~/.dir_colors."$TERM"
|
if ( -f ~/.dircolors."$TERM" ) then
|
||||||
|
set COLORS=~/.dircolors."$TERM"
|
||||||
|
endif
|
||||||
|
if ( -f ~/.dir_colors."$TERM" ) then
|
||||||
|
set COLORS=~/.dir_colors."$TERM"
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if ( ! -e "$COLORS" ) exit
|
if ( ! -e "$COLORS" ) then
|
||||||
|
exit
|
||||||
|
endif
|
||||||
|
|
||||||
eval `dircolors -c $COLORS`
|
eval `dircolors -c $COLORS`
|
||||||
|
|
||||||
@ -25,8 +44,8 @@ endif
|
|||||||
|
|
||||||
set color_none=`sed -n '/^COLOR.*none/Ip' < $COLORS`
|
set color_none=`sed -n '/^COLOR.*none/Ip' < $COLORS`
|
||||||
if ( "$color_none" == '' ) then
|
if ( "$color_none" == '' ) then
|
||||||
alias ll 'ls -l --color=tty'
|
alias ll 'ls -l --color=tty'
|
||||||
alias l. 'ls -d .* --color=tty'
|
alias l. 'ls -d .* --color=tty'
|
||||||
alias ls 'ls --color=tty'
|
alias ls 'ls --color=tty'
|
||||||
endif
|
endif
|
||||||
unset color_none
|
unset color_none
|
||||||
|
@ -1,4 +1,10 @@
|
|||||||
# color-ls initialization
|
# color-ls initialization
|
||||||
|
if [ -n "$LS_COLORS" ]; then
|
||||||
|
#do not override user LS_COLORS but use them
|
||||||
|
alias ll='ls -l --color=tty' 2>/dev/null
|
||||||
|
alias l.='ls -d .* --color=tty' 2>/dev/null
|
||||||
|
alias ls='ls --color=tty' 2>/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
alias ll='ls -l' 2>/dev/null
|
alias ll='ls -l' 2>/dev/null
|
||||||
alias l.='ls -d .*' 2>/dev/null
|
alias l.='ls -d .*' 2>/dev/null
|
||||||
@ -6,12 +12,12 @@ alias l.='ls -d .*' 2>/dev/null
|
|||||||
COLORS=/etc/DIR_COLORS
|
COLORS=/etc/DIR_COLORS
|
||||||
[ -e "/etc/DIR_COLORS.$TERM" ] && COLORS="/etc/DIR_COLORS.$TERM"
|
[ -e "/etc/DIR_COLORS.$TERM" ] && COLORS="/etc/DIR_COLORS.$TERM"
|
||||||
[ -e "$HOME/.dircolors" ] && COLORS="$HOME/.dircolors"
|
[ -e "$HOME/.dircolors" ] && COLORS="$HOME/.dircolors"
|
||||||
[ -e "$HOME/.dircolors.$TERM" ] && COLORS="$HOME/.dircolors.$TERM"
|
|
||||||
[ -e "$HOME/.dir_colors" ] && COLORS="$HOME/.dir_colors"
|
[ -e "$HOME/.dir_colors" ] && COLORS="$HOME/.dir_colors"
|
||||||
|
[ -e "$HOME/.dircolors.$TERM" ] && COLORS="$HOME/.dircolors.$TERM"
|
||||||
[ -e "$HOME/.dir_colors.$TERM" ] && COLORS="$HOME/.dir_colors.$TERM"
|
[ -e "$HOME/.dir_colors.$TERM" ] && COLORS="$HOME/.dir_colors.$TERM"
|
||||||
[ -e "$COLORS" ] || return
|
[ -e "$COLORS" ] || return
|
||||||
|
|
||||||
eval `dircolors --sh "$COLORS"`
|
eval `dircolors --sh "$COLORS" 2>/dev/null`
|
||||||
[ -z "$LS_COLORS" ] && return
|
[ -z "$LS_COLORS" ] && return
|
||||||
|
|
||||||
if ! egrep -qi "^COLOR.*none" $COLORS >/dev/null 2>/dev/null ; then
|
if ! egrep -qi "^COLOR.*none" $COLORS >/dev/null 2>/dev/null ; then
|
||||||
|
@ -243,7 +243,7 @@ diff -urp coreutils-6.10-orig/man/vdir.1 coreutils-6.10/man/vdir.1
|
|||||||
diff -urp coreutils-6.10-orig/src/copy.c coreutils-6.10/src/copy.c
|
diff -urp coreutils-6.10-orig/src/copy.c coreutils-6.10/src/copy.c
|
||||||
--- coreutils-6.10-orig/src/copy.c 2008-01-05 23:59:11.000000000 +0100
|
--- coreutils-6.10-orig/src/copy.c 2008-01-05 23:59:11.000000000 +0100
|
||||||
+++ coreutils-6.10/src/copy.c 2008-01-25 17:23:17.000000000 +0100
|
+++ coreutils-6.10/src/copy.c 2008-01-25 17:23:17.000000000 +0100
|
||||||
@@ -370,9 +367,10 @@ copy_reg (char const *src_name, char con
|
@@ -371,9 +371,10 @@ copy_reg (char const *src_name, char con
|
||||||
security_context_t con = NULL;
|
security_context_t con = NULL;
|
||||||
if (getfscreatecon (&con) < 0)
|
if (getfscreatecon (&con) < 0)
|
||||||
{
|
{
|
||||||
@ -255,7 +255,7 @@ diff -urp coreutils-6.10-orig/src/copy.c coreutils-6.10/src/copy.c
|
|||||||
return_val = false;
|
return_val = false;
|
||||||
goto close_src_and_dst_desc;
|
goto close_src_and_dst_desc;
|
||||||
}
|
}
|
||||||
@@ -383,11 +387,12 @@ copy_reg (char const *src_name, char con
|
@@ -383,11 +384,12 @@ copy_reg (char const *src_name, char con
|
||||||
{
|
{
|
||||||
if (fsetfilecon (dest_desc, con) < 0)
|
if (fsetfilecon (dest_desc, con) < 0)
|
||||||
{
|
{
|
||||||
@ -271,7 +271,7 @@ diff -urp coreutils-6.10-orig/src/copy.c coreutils-6.10/src/copy.c
|
|||||||
return_val = false;
|
return_val = false;
|
||||||
freecon (con);
|
freecon (con);
|
||||||
goto close_src_and_dst_desc;
|
goto close_src_and_dst_desc;
|
||||||
@@ -1630,11 +1635,12 @@ copy_internal (char const *src_name, cha
|
@@ -1630,11 +1632,12 @@ copy_internal (char const *src_name, cha
|
||||||
{
|
{
|
||||||
if (setfscreatecon (con) < 0)
|
if (setfscreatecon (con) < 0)
|
||||||
{
|
{
|
||||||
@ -287,7 +287,7 @@ diff -urp coreutils-6.10-orig/src/copy.c coreutils-6.10/src/copy.c
|
|||||||
freecon (con);
|
freecon (con);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -1644,12 +1650,14 @@ copy_internal (char const *src_name, cha
|
@@ -1644,12 +1647,14 @@ copy_internal (char const *src_name, cha
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (errno != ENOTSUP && errno != ENODATA)
|
if (errno != ENOTSUP && errno != ENODATA)
|
||||||
@ -308,7 +308,7 @@ diff -urp coreutils-6.10-orig/src/copy.c coreutils-6.10/src/copy.c
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1735,6 +1743,8 @@ copy_internal (char const *src_name, cha
|
@@ -1735,6 +1740,8 @@ copy_internal (char const *src_name, cha
|
||||||
{
|
{
|
||||||
/* Here, we are crossing a file system boundary and cp's -x option
|
/* 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. */
|
is in effect: so don't copy the contents of this directory. */
|
||||||
@ -532,6 +532,18 @@ diff -urp coreutils-6.10-orig/src/ls.c coreutils-6.10/src/ls.c
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* Display letters and indicators for each filetype.
|
/* Display letters and indicators for each filetype.
|
||||||
|
@@ -177,8 +178,9 @@ struct fileinfo
|
||||||
|
exists, otherwise false. */
|
||||||
|
bool linkok;
|
||||||
|
|
||||||
|
- /* For long listings, true if the file has an access control list,
|
||||||
|
- or an SELinux security context. */
|
||||||
|
+ /* For long listings, true if the file has an access control list.
|
||||||
|
+ Unlike with upstream not true for SELinux scontext(#430779) as
|
||||||
|
+ this removes possibility to detect ACL via ls */
|
||||||
|
bool have_acl;
|
||||||
|
};
|
||||||
|
|
||||||
@@ -241,6 +242,7 @@ static void queue_directory (char const
|
@@ -241,6 +242,7 @@ static void queue_directory (char const
|
||||||
static void sort_files (void);
|
static void sort_files (void);
|
||||||
static void parse_ls_color (void);
|
static void parse_ls_color (void);
|
||||||
@ -709,6 +721,26 @@ diff -urp coreutils-6.10-orig/src/ls.c coreutils-6.10/src/ls.c
|
|||||||
{
|
{
|
||||||
bool have_acl = false;
|
bool have_acl = false;
|
||||||
int attr_len = (do_deref
|
int attr_len = (do_deref
|
||||||
|
@@ -2667,9 +2694,7 @@ gobble_file (char const *name, enum file
|
||||||
|
: lgetfilecon (absolute_name, &f->scontext));
|
||||||
|
err = (attr_len < 0);
|
||||||
|
|
||||||
|
- if (err == 0)
|
||||||
|
- have_acl = ! STREQ ("unlabeled", f->scontext);
|
||||||
|
- else
|
||||||
|
+ if (err != 0)
|
||||||
|
{
|
||||||
|
f->scontext = UNKNOWN_SECURITY_CONTEXT;
|
||||||
|
|
||||||
|
@@ -2681,7 +2706,7 @@ gobble_file (char const *name, enum file
|
||||||
|
err = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (err == 0 && ! have_acl && format == long_format)
|
||||||
|
+ if (err == 0 && format == long_format)
|
||||||
|
{
|
||||||
|
int n = file_has_acl (absolute_name, &f->stat);
|
||||||
|
err = (n < 0);
|
||||||
@@ -3255,6 +3281,13 @@ print_current_files (void)
|
@@ -3255,6 +3281,13 @@ print_current_files (void)
|
||||||
print_long_format (sorted_file[i]);
|
print_long_format (sorted_file[i]);
|
||||||
DIRED_PUTCHAR ('\n');
|
DIRED_PUTCHAR ('\n');
|
||||||
@ -1124,12 +1156,17 @@ diff -urp coreutils-6.10-orig/src/stat.c coreutils-6.10/src/stat.c
|
|||||||
diff -urp coreutils-6.10-orig/tests/misc/selinux coreutils-6.10/tests/misc/selinux
|
diff -urp coreutils-6.10-orig/tests/misc/selinux coreutils-6.10/tests/misc/selinux
|
||||||
--- coreutils-6.10-orig/tests/misc/selinux 2008-01-11 11:34:22.000000000 +0100
|
--- coreutils-6.10-orig/tests/misc/selinux 2008-01-11 11:34:22.000000000 +0100
|
||||||
+++ coreutils-6.10/tests/misc/selinux 2008-01-25 18:17:59.000000000 +0100
|
+++ coreutils-6.10/tests/misc/selinux 2008-01-25 18:17:59.000000000 +0100
|
||||||
@@ -32,7 +32,7 @@ chcon $ctx f d p 2>/dev/null || {
|
@@ -32,12 +32,10 @@ chcon $ctx f d p 2>/dev/null || {
|
||||||
|
|
||||||
# inspect that context with both ls -Z and stat.
|
# inspect that context with both ls -Z and stat.
|
||||||
for i in d f p; do
|
for i in d f p; do
|
||||||
- c=`ls -dogZ $i|cut -d' ' -f3`; test x$c = x$ctx || fail=1
|
- c=`ls -dogZ $i|cut -d' ' -f3`; test x$c = x$ctx || fail=1
|
||||||
+ c=`ls -dogZ $i|cut -d' ' -f4`; test x$c = x$ctx || fail=1
|
+ c=`ls -dogZ $i|cut -d' ' -f5`; test x$c = x$ctx || fail=1
|
||||||
c=`stat --printf %C $i`; test x$c = x$ctx || fail=1
|
c=`stat --printf %C $i`; test x$c = x$ctx || fail=1
|
||||||
done
|
done
|
||||||
|
|
||||||
|
-# ensure that ls -l output includes the "+".
|
||||||
|
-c=`ls -l f|cut -c11`; test "$c" = + || fail=1
|
||||||
|
|
||||||
|
# Copy each to a new directory and ensure that context is preserved.
|
||||||
|
cp -r --preserve=all d f p s1 || fail=1
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Summary: The GNU core utilities: a set of tools commonly used in shell scripts
|
Summary: The GNU core utilities: a set of tools commonly used in shell scripts
|
||||||
Name: coreutils
|
Name: coreutils
|
||||||
Version: 6.10
|
Version: 6.10
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
Url: http://www.gnu.org/software/coreutils/
|
Url: http://www.gnu.org/software/coreutils/
|
||||||
@ -23,6 +23,7 @@ Source203: coreutils-runuser-l.pamd
|
|||||||
Patch100: coreutils-chgrp.patch
|
Patch100: coreutils-chgrp.patch
|
||||||
Patch101: coreutils-6.10-configuration.patch
|
Patch101: coreutils-6.10-configuration.patch
|
||||||
Patch102: coreutils-6.10-manpages.patch
|
Patch102: coreutils-6.10-manpages.patch
|
||||||
|
Patch103: coreutils-6.10-longoptions.patch
|
||||||
|
|
||||||
# sh-utils
|
# sh-utils
|
||||||
Patch703: sh-utils-2.0.11-dateman.patch
|
Patch703: sh-utils-2.0.11-dateman.patch
|
||||||
@ -99,6 +100,7 @@ cd %name-%version
|
|||||||
%patch100 -p1 -b .chgrp
|
%patch100 -p1 -b .chgrp
|
||||||
%patch101 -p1 -b .configure
|
%patch101 -p1 -b .configure
|
||||||
%patch102 -p1 -b .manpages
|
%patch102 -p1 -b .manpages
|
||||||
|
%patch103 -p1 -b .longopt
|
||||||
|
|
||||||
# sh-utils
|
# sh-utils
|
||||||
%patch703 -p1 -b .dateman
|
%patch703 -p1 -b .dateman
|
||||||
@ -289,6 +291,18 @@ fi
|
|||||||
/sbin/runuser
|
/sbin/runuser
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jan 31 2008 Ondrej Vasik <ovasik@redhat.com> - 6.10-3
|
||||||
|
- fix unability of echo to display certain strings(added --
|
||||||
|
separator, #431005)
|
||||||
|
- do not require only one long_opt for certain commands
|
||||||
|
e.g. sleep, yes - but use first usable (#431005)
|
||||||
|
- do not override userspecified LS_COLORS variable, but
|
||||||
|
use it for colored ls(#430827)
|
||||||
|
- discard errors from dircolors to /dev/null + some tuning
|
||||||
|
of lscolor sh/csh scripts(#430823)
|
||||||
|
- do not consider files with SELinux security context as
|
||||||
|
files having ACL in ls long format(#430779)
|
||||||
|
|
||||||
* Mon Jan 28 2008 Ondrej Vasik <ovasik@redhat.com> - 6.10-2
|
* Mon Jan 28 2008 Ondrej Vasik <ovasik@redhat.com> - 6.10-2
|
||||||
- some manpages improvements(#406981,#284881)
|
- some manpages improvements(#406981,#284881)
|
||||||
- fix non-versioned obsoletes of mktemp(#430407)
|
- fix non-versioned obsoletes of mktemp(#430407)
|
||||||
|
Loading…
Reference in New Issue
Block a user