require gmp-devel/gmp for large numbers support(#552846), various fixes

from F-12/rawhide
This commit is contained in:
Ondrej Vasik 2010-01-12 14:58:44 +00:00
parent 4e6805255c
commit 2b212bd2dc
8 changed files with 15889 additions and 116 deletions

View File

@ -0,0 +1,65 @@
diff -urNp coreutils-7.2-orig/src/ls.c coreutils-7.2/src/ls.c
--- coreutils-7.2-orig/src/ls.c 2010-01-12 15:54:16.000000000 +0100
+++ coreutils-7.2/src/ls.c 2010-01-12 15:54:57.000000000 +0100
@@ -3593,6 +3593,18 @@ format_group_width (gid_t g)
}
+/* Return a pointer to a formatted version of F->stat.st_ino,
+ possibly using buffer, BUF, of length BUFLEN, which must be at least
+ INT_BUFSIZE_BOUND (uintmax_t) bytes. */
+static char *
+format_inode (char *buf, size_t buflen, const struct fileinfo *f)
+{
+ assert (INT_BUFSIZE_BOUND (uintmax_t) <= buflen);
+ return (f->stat.st_ino == NOT_AN_INODE_NUMBER
+ ? (char *) "?"
+ : umaxtostr (f->stat.st_ino, buf));
+}
+
/* Print info about f in scontext format */
static void
print_scontext_format (const struct fileinfo *f)
@@ -3714,9 +3726,7 @@ print_long_format (const struct fileinfo
{
char hbuf[INT_BUFSIZE_BOUND (uintmax_t)];
sprintf (p, "%*s ", inode_number_width,
- (f->stat.st_ino == NOT_AN_INODE_NUMBER
- ? "?"
- : umaxtostr (f->stat.st_ino, hbuf)));
+ format_inode (hbuf, sizeof hbuf, f));
/* Increment by strlen (p) here, rather than by inode_number_width + 1.
The latter is wrong when inode_number_width is zero. */
p += strlen (p);
@@ -4106,7 +4116,7 @@ print_file_name_and_frills (const struct
if (print_inode)
printf ("%*s ", format == with_commas ? 0 : inode_number_width,
- umaxtostr (f->stat.st_ino, buf));
+ format_inode (buf, sizeof buf, f));
if (print_block_size)
printf ("%*s ", format == with_commas ? 0 : block_size_width,
diff -urNp coreutils-7.2-orig/tests/ls/dangle coreutils-7.2/tests/ls/dangle
--- coreutils-7.2-orig/tests/ls/dangle 2009-02-27 17:36:00.000000000 +0100
+++ coreutils-7.2/tests/ls/dangle 2010-01-12 15:54:57.000000000 +0100
@@ -26,6 +26,9 @@ fi
ln -s no-such-file dangle || framework_failure
mkdir -p dir/sub || framework_failure
ln -s dir slink-to-dir || framework_failure
+mkdir d || framework_failure
+ln -s no-such d/dangle || framework_failure
+echo '? dangle' > subdir_exp || framework_failure
fail=0
@@ -50,4 +53,9 @@ EOF
compare out exp || fail=1
+# Ensure that ls -Li prints "?" as the inode of a dangling symlink.
+rm -f out
+ls -Li d > out 2>/dev/null && fail=1
+compare out subdir_exp || fail=1
+
Exit $fail

15625
coreutils-7.2-ls-infloop.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,30 @@
diff -urNp coreutils-7.2-orig/src/true.c coreutils-7.2/src/true.c
--- coreutils-7.2-orig/src/true.c 2009-03-29 19:43:41.000000000 +0200
+++ coreutils-7.2/src/true.c 2010-01-12 15:52:44.000000000 +0100
@@ -54,18 +54,19 @@ Usage: %s [ignored command line argument
int
main (int argc, char **argv)
{
- initialize_main (&argc, &argv);
- set_program_name (argv[0]);
- setlocale (LC_ALL, "");
- bindtextdomain (PACKAGE, LOCALEDIR);
- textdomain (PACKAGE);
-
- atexit (close_stdout);
/* Recognize --help or --version only if it's the only command-line
argument. */
if (argc == 2)
{
+ initialize_main (&argc, &argv);
+ set_program_name (argv[0]);
+ setlocale (LC_ALL, "");
+ bindtextdomain (PACKAGE, LOCALEDIR);
+ textdomain (PACKAGE);
+
+ atexit (close_stdout);
+
if (STREQ (argv[1], "--help"))
usage (EXIT_STATUS);

View File

@ -1,5 +1,5 @@
# Configuration file for the color ls utility
# Synchronized with coreutils 7.1 dircolors
# Synchronized with coreutils 8.1 dircolors
# This file goes in the /etc directory, and must be world readable.
# You can copy this file to .dir_colors in your $HOME directory to override
# the system defaults.
@ -50,6 +50,7 @@ TERM rxvt-cygwin-native
TERM rxvt-unicode
TERM screen
TERM screen-256color
TERM screen-256color-bce
TERM screen-bce
TERM screen-w
TERM screen.linux
@ -78,7 +79,7 @@ RESET 0 # reset to "normal" color
DIR 01;34 # directory
LINK 01;36 # symbolic link (If you set this to 'target' instead of a
# numerical value, the color is as for the file pointed to.)
HARDLINK 44;37 # regular file with more than one link
MULTIHARDLINK 00 # regular file with more than one link
FIFO 40;33 # pipe
SOCK 01;35 # socket
DOOR 01;35 # door
@ -115,12 +116,17 @@ EXEC 01;32
.taz 01;31
.lzh 01;31
.lzma 01;31
.tlz 01;31
.txz 01;31
.zip 01;31
.z 01;31
.Z 01;31
.dz 01;31
.gz 01;31
.lz 01;31
.xz 01;31
.bz2 01;31
.tbz 01;31
.tbz2 01;31
.bz 01;31
.tz 01;31
@ -133,7 +139,7 @@ EXEC 01;32
.cpio 01;31
.7z 01;31
.rz 01;31
.xz 01;31
# image formats (magenta)
.jpg 01;35
.jpeg 01;35
@ -148,6 +154,8 @@ EXEC 01;32
.tif 01;35
.tiff 01;35
.png 01;35
.svg 01;35
.svgz 01;35
.mng 01;35
.pcx 01;35
.mov 01;35
@ -175,13 +183,15 @@ EXEC 01;32
.xcf 01;35
.xwd 01;35
.yuv 01;35
.svg 01;35
.svgz 01;35
.cgm 01;35
.emf 01;35
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
.axv 01;35
.anx 01;35
.ogv 01;35
.ogx 01;35
# audio formats (cyan)
.aac 01;36
.au 01;36
@ -194,6 +204,7 @@ EXEC 01;32
.ogg 01;36
.ra 01;36
.wav 01;36
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
.axa 01;36
.oga 01;36

View File

@ -1,6 +1,6 @@
# Configuration file for the 256color ls utility
# This file goes in the /etc directory, and must be world readable.
# Synchronized with coreutils 7.1 dircolors
# Synchronized with coreutils 8.1 dircolors
# You can copy this file to .dir_colors in your $HOME directory to override
# the system defaults.
# In the case that you are not satisfied with supplied colors, please
@ -52,17 +52,17 @@ EIGHTBIT 1
#NORMAL 00 # global default, no color code at all
#FILE 00 # normal file, use no color at all
RESET 0 # reset to "normal" color
DIR 01;38;5;27 # directory
LINK 01;38;5;51 # symbolic link (If you set this to 'target' instead of a
DIR 38;5;27 # directory
LINK 38;5;51 # symbolic link (If you set this to 'target' instead of a
# numerical value, the color is as for the file pointed to.)
HARDLINK 44;38;5;15; # regular file with more than one link
MULTIHARDLINK 44;38;5;15 # regular file with more than one link
FIFO 40;38;5;11 # pipe
SOCK 01;38;5;13 # socket
DOOR 01;38;5;5 # door
BLK 01;48;5;232;38;5;11 # block device driver
CHR 01;48;5;232;38;5;3 # character device driver
ORPHAN 01;48;5;232;38;5;9 # symlink to nonexistent file, or non-stat'able file
MISSING 01;05;48;5;232;38;5;15 # ... and the files they point to
SOCK 38;5;13 # socket
DOOR 38;5;5 # door
BLK 48;5;232;38;5;11 # block device driver
CHR 48;5;232;38;5;3 # character device driver
ORPHAN 48;5;232;38;5;9 # symlink to nonexistent file, or non-stat'able file
MISSING 05;48;5;232;38;5;15 # ... and the files they point to
SETUID 48;5;196;38;5;15 # file that is setuid (u+s)
SETGID 48;5;11;38;5;16 # file that is setgid (g+s)
CAPABILITY 48;5;196;38;5;226 # file with capability
@ -71,107 +71,117 @@ OTHER_WRITABLE 48;5;10;38;5;21 # dir that is other-writable (o+w) and not sticky
STICKY 48;5;21;38;5;15 # dir with the sticky bit set (+t) and not other-writable
# This is for files with execute permission:
EXEC 01;38;5;34
EXEC 38;5;34
# List any file extensions like '.gz' or '.tar' that you would like ls
# to colorize below. Put the extension, a space, and the color init string.
# (and any comments you want to add after a '#')
# executables (bright green)
#.cmd 01;38;5;34
#.exe 01;38;5;34
#.com 01;38;5;34
#.btm 01;38;5;34
#.bat 01;38;5;34
#.sh 01;38;5;34
#.csh 01;38;5;34
#.cmd 38;5;34
#.exe 38;5;34
#.com 38;5;34
#.btm 38;5;34
#.bat 38;5;34
#.sh 38;5;34
#.csh 38;5;34
# archives or compressed (bright red)
.tar 01;38;5;9
.tgz 01;38;5;9
.arj 01;38;5;9
.taz 01;38;5;9
.lzh 01;38;5;9
.lzma 01;38;5;9
.zip 01;38;5;9
.z 01;38;5;9
.Z 01;38;5;9
.dz 01;38;5;9
.gz 01;38;5;9
.bz2 01;38;5;9
.tbz2 01;38;5;9
.bz 01;38;5;9
.tz 01;38;5;9
.deb 01;38;5;9
.rpm 01;38;5;9
.jar 01;38;5;9
.rar 01;38;5;9
.ace 01;38;5;9
.zoo 01;38;5;9
.cpio 01;38;5;9
.7z 01;38;5;9
.rz 01;38;5;9
.xz 01;38;5;9
.tar 38;5;9
.tgz 38;5;9
.arj 38;5;9
.taz 38;5;9
.lzh 38;5;9
.lzma 38;5;9
.tlz 38;5;9
.txz 38;5;9
.zip 38;5;9
.z 38;5;9
.Z 38;5;9
.dz 38;5;9
.gz 38;5;9
.lz 38;5;9
.xz 38;5;9
.bz2 38;5;9
.tbz 38;5;9
.tbz2 38;5;9
.bz 38;5;9
.tz 38;5;9
.deb 38;5;9
.rpm 38;5;9
.jar 38;5;9
.rar 38;5;9
.ace 38;5;9
.zoo 38;5;9
.cpio 38;5;9
.7z 38;5;9
.rz 38;5;9
# image formats (magenta)
.jpg 01;38;5;13
.jpeg 01;38;5;13
.gif 01;38;5;13
.bmp 01;38;5;13
.pbm 01;38;5;13
.pgm 01;38;5;13
.ppm 01;38;5;13
.tga 01;38;5;13
.xbm 01;38;5;13
.xpm 01;38;5;13
.tif 01;38;5;13
.tiff 01;38;5;13
.png 01;38;5;13
.mng 01;38;5;13
.pcx 01;38;5;13
.mov 01;38;5;13
.mpg 01;38;5;13
.mpeg 01;38;5;13
.m2v 01;38;5;13
.mkv 01;38;5;13
.ogm 01;38;5;13
.mp4 01;38;5;13
.m4v 01;38;5;13
.mp4v 01;38;5;13
.vob 01;38;5;13
.qt 01;38;5;13
.nuv 01;38;5;13
.wmv 01;38;5;13
.asf 01;38;5;13
.rm 01;38;5;13
.rmvb 01;38;5;13
.flc 01;38;5;13
.avi 01;38;5;13
.fli 01;38;5;13
.flv 01;38;5;13
.gl 01;38;5;13
.dl 01;38;5;13
.xcf 01;38;5;13
.xwd 01;38;5;13
.yuv 01;38;5;13
.svg 01;38;5;13
.svgz 01;38;5;13
.jpg 38;5;13
.jpeg 38;5;13
.gif 38;5;13
.bmp 38;5;13
.pbm 38;5;13
.pgm 38;5;13
.ppm 38;5;13
.tga 38;5;13
.xbm 38;5;13
.xpm 38;5;13
.tif 38;5;13
.tiff 38;5;13
.png 38;5;13
.svg 38;5;13
.svgz 38;5;13
.mng 38;5;13
.pcx 38;5;13
.mov 38;5;13
.mpg 38;5;13
.mpeg 38;5;13
.m2v 38;5;13
.mkv 38;5;13
.ogm 38;5;13
.mp4 38;5;13
.m4v 38;5;13
.mp4v 38;5;13
.vob 38;5;13
.qt 38;5;13
.nuv 38;5;13
.wmv 38;5;13
.asf 38;5;13
.rm 38;5;13
.rmvb 38;5;13
.flc 38;5;13
.avi 38;5;13
.fli 38;5;13
.flv 38;5;13
.gl 38;5;13
.dl 38;5;13
.xcf 38;5;13
.xwd 38;5;13
.yuv 38;5;13
.cgm 38;5;13
.emf 38;5;13
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
.axv 01;38;5;13
.anx 01;38;5;13
.ogv 01;38;5;13
.ogx 01;38;5;13
.axv 38;5;13
.anx 38;5;13
.ogv 38;5;13
.ogx 38;5;13
# audio formats (cyan)
.aac 01;38;5;45
.au 01;38;5;45
.flac 01;38;5;45
.mid 01;38;5;45
.midi 01;38;5;45
.mka 01;38;5;45
.mp3 01;38;5;45
.mpc 01;38;5;45
.ogg 01;38;5;45
.ra 01;38;5;45
.wav 01;38;5;45
.aac 38;5;45
.au 38;5;45
.flac 38;5;45
.mid 38;5;45
.midi 38;5;45
.mka 38;5;45
.mp3 38;5;45
.mpc 38;5;45
.ogg 38;5;45
.ra 38;5;45
.wav 38;5;45
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
.axa 01;38;5;45
.oga 01;38;5;45
.spx 01;38;5;45
.xspf 01;38;5;45
.axa 38;5;45
.oga 38;5;45
.spx 38;5;45
.xspf 38;5;45

View File

@ -1,5 +1,5 @@
# Configuration file for the color ls utility - modified for gray backgrounds
# Synchronized with coreutils 7.1 dircolors
# Synchronized with coreutils 8.1 dircolors
# This file goes in the /etc directory, and must be world readable.
# You can copy this file to .dir_colors in your $HOME directory to override
# the system defaults.
@ -58,7 +58,7 @@ RESET 0
DIR 00;34 # directory
LINK 00;36 # symbolic link (If you set this to 'target' instead of a
# numerical value, the color is as for the file pointed to.)
HARDLINK 44;37 # regular file with more than one link
MULTIHARDLINK 00 # regular file with more than one link
FIFO 40;33 # pipe
SOCK 00;35 # socket
DOOR 00;35 # door
@ -94,12 +94,17 @@ EXEC 00;32
.taz 00;31
.lzh 00;31
.lzma 00;31
.tlz 00;31
.txz 00;31
.zip 00;31
.z 00;31
.Z 00;31
.dz 00;31
.gz 00;31
.lz 00;31
.xz 00;31
.bz2 00;31
.tbz 00;31
.tbz2 00;31
.bz 00;31
.tz 00;31
@ -112,7 +117,6 @@ EXEC 00;32
.cpio 00;31
.7z 00;31
.rz 00;31
.xz 00;31
# image formats (magenta)
.jpg 00;35
.jpeg 00;35
@ -127,6 +131,8 @@ EXEC 00;32
.tif 00;35
.tiff 00;35
.png 00;35
.svg 00;35
.svgz 00;35
.mng 00;35
.pcx 00;35
.mov 00;35
@ -154,13 +160,15 @@ EXEC 00;32
.xcf 00;35
.xwd 00;35
.yuv 00;35
.svg 00;35
.svgz 00;35
.cgm 00;35
.emf 00;35
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
.axv 00;35
.anx 00;35
.ogv 00;35
.ogx 00;35
# audio formats (cyan)
.aac 00;36
.au 00;36
@ -173,6 +181,7 @@ EXEC 00;32
.ogg 00;36
.ra 00;36
.wav 00;36
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
.axa 00;36
.oga 00;36

View File

@ -32,7 +32,7 @@ if [ -z "$USER_LS_COLORS" ]; then
eval `dircolors --sh "$COLORS" 2>/dev/null`
[ -z "$LS_COLORS" ] && return
egrep -qi "^COLOR.*none" $COLORS >/dev/null 2>/dev/null && return
grep -qi "^COLOR.*none" $COLORS >/dev/null 2>/dev/null && return
fi
alias ll='ls -l --color=auto' 2>/dev/null

View File

@ -1,7 +1,7 @@
Summary: A set of basic GNU tools commonly used in shell scripts
Name: coreutils
Version: 7.2
Release: 5%{?dist}
Release: 6%{?dist}
License: GPLv3+
Group: System Environment/Base
Url: http://www.gnu.org/software/coreutils/
@ -24,6 +24,9 @@ Patch2: coreutils-7.4-install-SELinux.patch
Patch3: coreutils-7.5-ls-inode.patch
Patch4: coreutils-7.2-ls-fr_FR-misalignment.patch
Patch5: coreutils-CVE-2009-4135.patch
Patch6: coreutils-7.2-ls-infloop.patch
Patch7: coreutils-7.2-ls-derefdanglinginode.patch
Patch8: coreutils-7.2-trueexecve.patch
# Our patches
Patch100: coreutils-6.10-configuration.patch
@ -65,6 +68,7 @@ BuildRequires: automake >= 1.10.1
BuildRequires: libcap-devel >= 2.0.6
BuildRequires: libattr-devel
BuildRequires: attr
BuildRequires: gmp-devel
Requires(post): libselinux >= 1.25.6-1
Requires: libattr
@ -78,6 +82,7 @@ Requires(post): grep
%{?!nopam:Requires: pam >= 0.66-12}
Requires(post): libcap >= 2.0.6
Requires: ncurses
Requires: gmp
# Require a C library that doesn't put LC_TIME files in our way.
Conflicts: glibc < 2.2
@ -109,6 +114,8 @@ the old GNU fileutils, sh-utils, and textutils packages.
%patch3 -p1 -b .lsinode
%patch4 -p1 -b .frenchmonths
%patch5 -p1 -b .unsafetmp
%patch6 -p1 -b .infloop
%patch8 -p1 -b .execve
# Our patches
%patch100 -p1 -b .configure
@ -136,6 +143,10 @@ the old GNU fileutils, sh-utils, and textutils packages.
%patch950 -p1 -b .selinux
%patch951 -p1 -b .selinuxman
#upstream apply later
%patch7 -p1 -b .inode
chmod a+x tests/misc/sort-mb-tests
sed -i 's/1.10a/1.10.1/' configure.ac
@ -327,6 +338,18 @@ fi
/sbin/runuser
%changelog
* Tue Jan 12 2010 Ondrej Vasik <ovasik@redhat.com> - 7.2-6
- require gmp-devel/gmp for large numbers support(#552846)
- use grep instead of deprecated egrep in colorls.sh script
(#548174)
- fix DIR_COLORS.256color file, update /etc/DIR_COLORS* files
- /bin/{true,false} - do not segfault with abusive
execve() usage (#537684)
- ls: print "?", not "0" as inode of dereferenced dangling
symlink(#525400)
- ls -LR exits with status 2, not 0, when it encounters
a cycle(#525402)
* Fri Dec 11 2009 Ondrej Vasik <ovasik@redhat.com> - 7.2-5
- CVE-2009-4135 : Unsafe temporary directory use in "distcheck" rule