new upstream release 8.26
This commit is contained in:
parent
3ed22ec3e8
commit
8d9eac4093
20
.gitignore
vendored
20
.gitignore
vendored
@ -1,19 +1 @@
|
|||||||
/coreutils-8.10.tar.xz
|
/coreutils-[0-9.]*.tar.xz
|
||||||
/coreutils-8.11.tar.xz
|
|
||||||
/coreutils-8.12.tar.xz
|
|
||||||
/coreutils-8.13.tar.xz
|
|
||||||
/coreutils-8.14.tar.xz
|
|
||||||
/coreutils-8.15.tar.xz
|
|
||||||
/coreutils-8.16.tar.xz
|
|
||||||
/coreutils-8.17.tar.xz
|
|
||||||
/coreutils-8.18.tar.xz
|
|
||||||
/coreutils-8.19.tar.xz
|
|
||||||
/coreutils-8.20.tar.xz
|
|
||||||
/coreutils-8.21.tar.xz
|
|
||||||
/coreutils-8.22.tar.xz
|
|
||||||
/coreutils-8.23.tar.xz
|
|
||||||
/coreutils-8.23.tar.xz.sig
|
|
||||||
/coreutils-8.24.tar.xz
|
|
||||||
/coreutils-8.24.tar.xz.sig
|
|
||||||
/coreutils-8.25.tar.xz
|
|
||||||
/coreutils-8.25.tar.xz.sig
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
--- coreutils-5.92/src/date.c.langinfo 2005-09-16 09:06:57.000000000 +0100
|
diff --git a/src/date.c b/src/date.c
|
||||||
+++ coreutils-5.92/src/date.c 2005-10-24 18:09:16.000000000 +0100
|
index ddb011e..619a72b 100644
|
||||||
@@ -474,14 +474,7 @@ main (int argc, char **argv)
|
--- a/src/date.c
|
||||||
|
+++ b/src/date.c
|
||||||
|
@@ -490,14 +490,7 @@ main (int argc, char **argv)
|
||||||
format = DATE_FMT_LANGINFO ();
|
format = DATE_FMT_LANGINFO ();
|
||||||
if (! *format)
|
if (! *format)
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,22 @@
|
|||||||
diff -urNp coreutils-8.21-orig/gnulib-tests/gnulib.mk coreutils-8.21/gnulib-tests/gnulib.mk
|
From 54ef056964da3d0987afd9f1e96b9419db0d653a Mon Sep 17 00:00:00 2001
|
||||||
--- coreutils-8.21-orig/gnulib-tests/gnulib.mk 2013-02-07 17:58:44.000000000 +0100
|
From: Kamil Dudka <kdudka@redhat.com>
|
||||||
+++ coreutils-8.21/gnulib-tests/gnulib.mk 2013-02-15 10:12:28.110593165 +0100
|
Date: Thu, 1 Dec 2016 14:32:46 +0100
|
||||||
|
Subject: [PATCH] coreutils-6.10-configuration.patch
|
||||||
|
|
||||||
|
TODO: check whether still necessary
|
||||||
|
---
|
||||||
|
gnulib-tests/gnulib.mk | 60 +++++++++++++++++++++----------------------
|
||||||
|
man/local.mk | 2 +-
|
||||||
|
tests/df/skip-duplicates.sh | 3 +++
|
||||||
|
tests/local.mk | 2 +-
|
||||||
|
tests/misc/nohup.sh | 2 ++
|
||||||
|
tests/touch/no-dereference.sh | 2 ++
|
||||||
|
6 files changed, 39 insertions(+), 32 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/gnulib-tests/gnulib.mk b/gnulib-tests/gnulib.mk
|
||||||
|
index fee978f..8f32431 100644
|
||||||
|
--- a/gnulib-tests/gnulib.mk
|
||||||
|
+++ b/gnulib-tests/gnulib.mk
|
||||||
@@ -279,9 +279,9 @@ EXTRA_DIST += nap.h test-chown.h test-chown.c signature.h macros.h
|
@@ -279,9 +279,9 @@ EXTRA_DIST += nap.h test-chown.h test-chown.c signature.h macros.h
|
||||||
|
|
||||||
## begin gnulib module cloexec-tests
|
## begin gnulib module cloexec-tests
|
||||||
@ -55,7 +71,7 @@ diff -urNp coreutils-8.21-orig/gnulib-tests/gnulib.mk coreutils-8.21/gnulib-test
|
|||||||
|
|
||||||
## end gnulib module getlogin-tests
|
## end gnulib module getlogin-tests
|
||||||
|
|
||||||
@@ -1147,10 +1147,10 @@ EXTRA_DIST += test-link.h test-link.c signature.h macros.h
|
@@ -1148,10 +1148,10 @@ EXTRA_DIST += test-link.h test-link.c signature.h macros.h
|
||||||
|
|
||||||
## begin gnulib module linkat-tests
|
## begin gnulib module linkat-tests
|
||||||
|
|
||||||
@ -70,7 +86,7 @@ diff -urNp coreutils-8.21-orig/gnulib-tests/gnulib.mk coreutils-8.21/gnulib-test
|
|||||||
|
|
||||||
## end gnulib module linkat-tests
|
## end gnulib module linkat-tests
|
||||||
|
|
||||||
@@ -1359,9 +1359,9 @@ EXTRA_DIST += test-memcoll.c macros.h
|
@@ -1360,9 +1360,9 @@ EXTRA_DIST += test-memcoll.c macros.h
|
||||||
|
|
||||||
## begin gnulib module memrchr-tests
|
## begin gnulib module memrchr-tests
|
||||||
|
|
||||||
@ -83,7 +99,7 @@ diff -urNp coreutils-8.21-orig/gnulib-tests/gnulib.mk coreutils-8.21/gnulib-test
|
|||||||
|
|
||||||
## end gnulib module memrchr-tests
|
## end gnulib module memrchr-tests
|
||||||
|
|
||||||
@@ -1912,9 +1912,9 @@ EXTRA_DIST += test-statat.c
|
@@ -1913,9 +1913,9 @@ EXTRA_DIST += test-statat.c
|
||||||
|
|
||||||
## begin gnulib module stdalign-tests
|
## begin gnulib module stdalign-tests
|
||||||
|
|
||||||
@ -96,7 +112,7 @@ diff -urNp coreutils-8.21-orig/gnulib-tests/gnulib.mk coreutils-8.21/gnulib-test
|
|||||||
|
|
||||||
## end gnulib module stdalign-tests
|
## end gnulib module stdalign-tests
|
||||||
|
|
||||||
@@ -2269,9 +2269,9 @@ EXTRA_DIST += test-uname.c signature.h macros.h
|
@@ -2270,9 +2270,9 @@ EXTRA_DIST += test-uname.c signature.h macros.h
|
||||||
|
|
||||||
## begin gnulib module unistd-safer-tests
|
## begin gnulib module unistd-safer-tests
|
||||||
|
|
||||||
@ -109,7 +125,7 @@ diff -urNp coreutils-8.21-orig/gnulib-tests/gnulib.mk coreutils-8.21/gnulib-test
|
|||||||
|
|
||||||
## end gnulib module unistd-safer-tests
|
## end gnulib module unistd-safer-tests
|
||||||
|
|
||||||
@@ -2367,10 +2367,10 @@ EXTRA_DIST += test-userspec.c
|
@@ -2368,10 +2368,10 @@ EXTRA_DIST += test-userspec.c
|
||||||
|
|
||||||
## begin gnulib module utimens-tests
|
## begin gnulib module utimens-tests
|
||||||
|
|
||||||
@ -124,9 +140,37 @@ diff -urNp coreutils-8.21-orig/gnulib-tests/gnulib.mk coreutils-8.21/gnulib-test
|
|||||||
|
|
||||||
## end gnulib module utimens-tests
|
## end gnulib module utimens-tests
|
||||||
|
|
||||||
diff -urNp coreutils-8.21-orig/tests/local.mk coreutils-8.21/tests/local.mk
|
diff --git a/man/local.mk b/man/local.mk
|
||||||
--- coreutils-8.21-orig/tests/local.mk 2013-02-11 11:30:12.000000000 +0100
|
index a39bb65..535690c 100644
|
||||||
+++ coreutils-8.21/tests/local.mk 2013-02-15 10:10:55.890532258 +0100
|
--- a/man/local.mk
|
||||||
|
+++ b/man/local.mk
|
||||||
|
@@ -41,7 +41,7 @@ distclean-local:
|
||||||
|
test x$(srcdir) = x$(builddir) || rm -f $(ALL_MANS)
|
||||||
|
|
||||||
|
# Dependencies common to all man pages. Updated below.
|
||||||
|
-mandeps =
|
||||||
|
+mandeps = $(PROGRAMS)
|
||||||
|
|
||||||
|
# Depend on this to get version number changes.
|
||||||
|
mandeps += .version
|
||||||
|
diff --git a/tests/df/skip-duplicates.sh b/tests/df/skip-duplicates.sh
|
||||||
|
index f349263..9854f8d 100755
|
||||||
|
--- a/tests/df/skip-duplicates.sh
|
||||||
|
+++ b/tests/df/skip-duplicates.sh
|
||||||
|
@@ -26,6 +26,9 @@ require_gcc_shared_
|
||||||
|
df --local --output=target >LOCAL_FS || skip_ 'df fails'
|
||||||
|
grep '^/$' LOCAL_FS || skip_ 'no root file system found'
|
||||||
|
|
||||||
|
+# mark it expensive, to temporarily skip the test in koji
|
||||||
|
+expensive_
|
||||||
|
+
|
||||||
|
# Get real targets to substitute for /NONROOT and /REMOTE below.
|
||||||
|
export CU_NONROOT_FS=$(grep /. LOCAL_FS | head -n1)
|
||||||
|
export CU_REMOTE_FS=$(grep /. LOCAL_FS | tail -n+2 | head -n1)
|
||||||
|
diff --git a/tests/local.mk b/tests/local.mk
|
||||||
|
index 3335002..568944e 100644
|
||||||
|
--- a/tests/local.mk
|
||||||
|
+++ b/tests/local.mk
|
||||||
@@ -134,6 +134,7 @@ all_root_tests = \
|
@@ -134,6 +134,7 @@ all_root_tests = \
|
||||||
tests/rm/no-give-up.sh \
|
tests/rm/no-give-up.sh \
|
||||||
tests/rm/one-file-system.sh \
|
tests/rm/one-file-system.sh \
|
||||||
@ -143,21 +187,10 @@ diff -urNp coreutils-8.21-orig/tests/local.mk coreutils-8.21/tests/local.mk
|
|||||||
tests/tail-2/inotify-hash-abuse2.sh \
|
tests/tail-2/inotify-hash-abuse2.sh \
|
||||||
tests/tail-2/F-vs-missing.sh \
|
tests/tail-2/F-vs-missing.sh \
|
||||||
tests/tail-2/F-vs-rename.sh \
|
tests/tail-2/F-vs-rename.sh \
|
||||||
diff -urNp coreutils-8.21-orig/tests/touch/no-dereference.sh coreutils-8.21/tests/touch/no-dereference.sh
|
diff --git a/tests/misc/nohup.sh b/tests/misc/nohup.sh
|
||||||
--- coreutils-8.21-orig/tests/touch/no-dereference.sh 2013-01-31 01:46:25.000000000 +0100
|
index 1b43b60..3fd29e7 100755
|
||||||
+++ coreutils-8.21/tests/touch/no-dereference.sh 2013-02-15 10:10:55.889593383 +0100
|
--- a/tests/misc/nohup.sh
|
||||||
@@ -42,6 +42,8 @@ test -f nowhere && fail=1
|
+++ b/tests/misc/nohup.sh
|
||||||
grep '^#define HAVE_UTIMENSAT 1' "$CONFIG_HEADER" > /dev/null ||
|
|
||||||
grep '^#define HAVE_LUTIMES 1' "$CONFIG_HEADER" > /dev/null ||
|
|
||||||
skip_ 'this system lacks the utimensat function'
|
|
||||||
+grep '^#define HAVE_WORKINGKOJI 1' "$CONFIG_HEADER" > /dev/null ||
|
|
||||||
+ skip_ 'rest of the test disabled due to koji lack of utimensat function'
|
|
||||||
|
|
||||||
# Changing time of dangling symlink is okay.
|
|
||||||
# Skip the test if this fails, but the error text corresponds to
|
|
||||||
diff -urNp coreutils-8.22-orig/tests/misc/nohup.sh coreutils-8.22/tests/misc/nohup.sh
|
|
||||||
--- coreutils-8.22-orig/tests/misc/nohup.sh 2013-12-04 15:48:30.000000000 +0100
|
|
||||||
+++ coreutils-8.22/tests/misc/nohup.sh 2014-03-02 21:51:01.972887749 +0100
|
|
||||||
@@ -19,6 +19,8 @@
|
@@ -19,6 +19,8 @@
|
||||||
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
|
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
|
||||||
print_ver_ nohup
|
print_ver_ nohup
|
||||||
@ -167,29 +200,19 @@ diff -urNp coreutils-8.22-orig/tests/misc/nohup.sh coreutils-8.22/tests/misc/noh
|
|||||||
|
|
||||||
nohup sh -c 'echo stdout; echo stderr 1>&2' 2>err || fail=1
|
nohup sh -c 'echo stdout; echo stderr 1>&2' 2>err || fail=1
|
||||||
|
|
||||||
diff -urNp coreutils-8.23-orig/tests/df/skip-duplicates.sh coreutils-8.23/tests/df/skip-duplicates.sh
|
diff --git a/tests/touch/no-dereference.sh b/tests/touch/no-dereference.sh
|
||||||
--- coreutils-8.23-orig/tests/df/skip-duplicates.sh 2014-07-14 00:09:52.000000000 +0200
|
index 7994638..72b2222 100755
|
||||||
+++ coreutils-8.23/tests/df/skip-duplicates.sh 2014-07-24 15:53:33.473031545 +0200
|
--- a/tests/touch/no-dereference.sh
|
||||||
@@ -25,6 +25,10 @@ require_gcc_shared_
|
+++ b/tests/touch/no-dereference.sh
|
||||||
# potentially very many remote mounts.
|
@@ -42,6 +42,8 @@ test -f nowhere && fail=1
|
||||||
df --local || skip_ 'df fails'
|
grep '^#define HAVE_UTIMENSAT 1' "$CONFIG_HEADER" > /dev/null ||
|
||||||
|
grep '^#define HAVE_LUTIMES 1' "$CONFIG_HEADER" > /dev/null ||
|
||||||
|
skip_ 'this system lacks the utimensat function'
|
||||||
|
+grep '^#define HAVE_WORKINGKOJI 1' "$CONFIG_HEADER" > /dev/null ||
|
||||||
|
+ skip_ 'rest of the test disabled due to koji lack of utimensat function'
|
||||||
|
|
||||||
+#mark it expensive, to temporarily skip the test in koji
|
# Changing time of dangling symlink is okay.
|
||||||
+expensive_
|
# Skip the test if this fails, but the error text corresponds to
|
||||||
+
|
--
|
||||||
+
|
2.7.4
|
||||||
export CU_NONROOT_FS=$(df --local --output=target 2>&1 | grep /. | head -n1)
|
|
||||||
export CU_REMOTE_FS=$(df --local --output=target 2>&1 | grep /. |
|
|
||||||
tail -n+2 | head -n1)
|
|
||||||
diff -urNp coreutils-8.23-orig/man/local.mk coreutils-8.23/man/local.mk
|
|
||||||
--- coreutils-8.23-orig/man/local.mk 2014-07-18 03:40:57.000000000 +0200
|
|
||||||
+++ coreutils-8.23/man/local.mk 2014-08-05 12:18:20.477524009 +0200
|
|
||||||
@@ -41,7 +41,7 @@ distclean-local:
|
|
||||||
test x$(srcdir) = x$(builddir) || rm -f $(ALL_MANS)
|
|
||||||
|
|
||||||
# Dependencies common to all man pages. Updated below.
|
|
||||||
-mandeps =
|
|
||||||
+mandeps = $(PROGRAMS)
|
|
||||||
|
|
||||||
# Depend on this to get version number changes.
|
|
||||||
mandeps += .version
|
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
diff -urNp coreutils-6.12-orig/src/md5sum.c coreutils-6.12/src/md5sum.c
|
diff --git a/src/md5sum.c b/src/md5sum.c
|
||||||
--- coreutils-6.12-orig/src/md5sum.c 2008-05-26 08:40:33.000000000 +0200
|
index 8e21609..a857d62 100644
|
||||||
+++ coreutils-6.12/src/md5sum.c 2008-10-21 16:07:28.000000000 +0200
|
--- a/src/md5sum.c
|
||||||
@@ -200,6 +200,9 @@ Print or check %s (%d-bit) checksums.\n\
|
+++ b/src/md5sum.c
|
||||||
|
@@ -266,6 +266,9 @@ Print or check %s (%d-bit) checksums.\n\
|
||||||
fputs (_("\
|
fputs (_("\
|
||||||
-t, --text read in text mode (default)\n\
|
-t, --text read in text mode (default)\n\
|
||||||
"), stdout);
|
"), stdout);
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
diff -urNp coreutils-8.2-orig/src/uname.c coreutils-8.2/src/uname.c
|
diff --git a/src/uname.c b/src/uname.c
|
||||||
--- coreutils-8.2-orig/src/uname.c 2009-09-23 10:25:44.000000000 +0200
|
index 6371ca2..1ad8fd7 100644
|
||||||
+++ coreutils-8.2/src/uname.c 2009-12-19 09:09:11.663607110 +0100
|
--- a/src/uname.c
|
||||||
@@ -299,13 +299,19 @@ main (int argc, char **argv)
|
+++ b/src/uname.c
|
||||||
|
@@ -300,13 +300,19 @@ main (int argc, char **argv)
|
||||||
|
|
||||||
if (toprint & PRINT_PROCESSOR)
|
if (toprint & PRINT_PROCESSOR)
|
||||||
{
|
{
|
||||||
@ -22,7 +23,7 @@ diff -urNp coreutils-8.2-orig/src/uname.c coreutils-8.2/src/uname.c
|
|||||||
#endif
|
#endif
|
||||||
#ifdef UNAME_PROCESSOR
|
#ifdef UNAME_PROCESSOR
|
||||||
if (element == unknown)
|
if (element == unknown)
|
||||||
@@ -343,7 +349,7 @@ main (int argc, char **argv)
|
@@ -344,7 +350,7 @@ main (int argc, char **argv)
|
||||||
|
|
||||||
if (toprint & PRINT_HARDWARE_PLATFORM)
|
if (toprint & PRINT_HARDWARE_PLATFORM)
|
||||||
{
|
{
|
||||||
@ -31,7 +32,7 @@ diff -urNp coreutils-8.2-orig/src/uname.c coreutils-8.2/src/uname.c
|
|||||||
#if HAVE_SYSINFO && defined SI_PLATFORM
|
#if HAVE_SYSINFO && defined SI_PLATFORM
|
||||||
{
|
{
|
||||||
static char hardware_platform[257];
|
static char hardware_platform[257];
|
||||||
@@ -351,6 +357,14 @@ main (int argc, char **argv)
|
@@ -352,6 +358,14 @@ main (int argc, char **argv)
|
||||||
hardware_platform, sizeof hardware_platform))
|
hardware_platform, sizeof hardware_platform))
|
||||||
element = hardware_platform;
|
element = hardware_platform;
|
||||||
}
|
}
|
||||||
|
@ -4,10 +4,10 @@ Date: Fri, 17 Jun 2016 16:58:18 +0200
|
|||||||
Subject: [PATCH] downstream changes to default DIR_COLORS
|
Subject: [PATCH] downstream changes to default DIR_COLORS
|
||||||
|
|
||||||
---
|
---
|
||||||
DIR_COLORS | 44 +++----
|
DIR_COLORS | 44 ++++----
|
||||||
DIR_COLORS.256color | 296 +++++++++++++++++++++++-------------------------
|
DIR_COLORS.256color | 294 +++++++++++++++++++++++-------------------------
|
||||||
DIR_COLORS.lightbgcolor | 203 +++++++++++++++++----------------
|
DIR_COLORS.lightbgcolor | 207 +++++++++++++++++-----------------
|
||||||
3 files changed, 271 insertions(+), 272 deletions(-)
|
3 files changed, 271 insertions(+), 274 deletions(-)
|
||||||
|
|
||||||
diff --git a/DIR_COLORS b/DIR_COLORS
|
diff --git a/DIR_COLORS b/DIR_COLORS
|
||||||
index d2ea453..27af9d7 100644
|
index d2ea453..27af9d7 100644
|
||||||
@ -34,7 +34,7 @@ index d2ea453..27af9d7 100644
|
|||||||
|
|
||||||
# Below are TERM entries, which can be a glob patterns, to match
|
# Below are TERM entries, which can be a glob patterns, to match
|
||||||
# against the TERM environment variable to determine if it is colorizable.
|
# against the TERM environment variable to determine if it is colorizable.
|
||||||
@@ -62,7 +68,7 @@ DOOR 01;35 # door
|
@@ -56,7 +62,7 @@ DOOR 01;35 # door
|
||||||
BLK 40;33;01 # block device driver
|
BLK 40;33;01 # block device driver
|
||||||
CHR 40;33;01 # character device driver
|
CHR 40;33;01 # character device driver
|
||||||
ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file ...
|
ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file ...
|
||||||
@ -43,7 +43,7 @@ index d2ea453..27af9d7 100644
|
|||||||
SETUID 37;41 # file that is setuid (u+s)
|
SETUID 37;41 # file that is setuid (u+s)
|
||||||
SETGID 30;43 # file that is setgid (g+s)
|
SETGID 30;43 # file that is setgid (g+s)
|
||||||
CAPABILITY 30;41 # file with capability
|
CAPABILITY 30;41 # file with capability
|
||||||
@@ -183,21 +189,21 @@ EXEC 01;32
|
@@ -181,21 +187,21 @@ EXEC 01;32
|
||||||
.ogx 01;35
|
.ogx 01;35
|
||||||
|
|
||||||
# audio formats
|
# audio formats
|
||||||
@ -85,7 +85,7 @@ diff --git a/DIR_COLORS.256color b/DIR_COLORS.256color
|
|||||||
index d2ea453..74c34ba 100644
|
index d2ea453..74c34ba 100644
|
||||||
--- a/DIR_COLORS.256color
|
--- a/DIR_COLORS.256color
|
||||||
+++ b/DIR_COLORS.256color
|
+++ b/DIR_COLORS.256color
|
||||||
@@ -1,45 +1,22 @@
|
@@ -1,39 +1,22 @@
|
||||||
-# Configuration file for dircolors, a utility to help you set the
|
-# Configuration file for dircolors, a utility to help you set the
|
||||||
-# LS_COLORS environment variable used by GNU ls with the --color option.
|
-# LS_COLORS environment variable used by GNU ls with the --color option.
|
||||||
+# Configuration file for the 256color ls utility
|
+# Configuration file for the 256color ls utility
|
||||||
@ -109,30 +109,24 @@ index d2ea453..74c34ba 100644
|
|||||||
# against the TERM environment variable to determine if it is colorizable.
|
# against the TERM environment variable to determine if it is colorizable.
|
||||||
-TERM Eterm
|
-TERM Eterm
|
||||||
-TERM ansi
|
-TERM ansi
|
||||||
-TERM color-xterm
|
-TERM *color*
|
||||||
-TERM con[0-9]*x[0-9]*
|
-TERM con[0-9]*x[0-9]*
|
||||||
-TERM cons25
|
-TERM cons25
|
||||||
-TERM console
|
-TERM console
|
||||||
-TERM cygwin
|
-TERM cygwin
|
||||||
-TERM dtterm
|
-TERM dtterm
|
||||||
-TERM eterm-color
|
|
||||||
-TERM gnome
|
-TERM gnome
|
||||||
-TERM gnome-256color
|
|
||||||
-TERM hurd
|
-TERM hurd
|
||||||
-TERM jfbterm
|
-TERM jfbterm
|
||||||
-TERM konsole
|
-TERM konsole
|
||||||
-TERM kterm
|
-TERM kterm
|
||||||
-TERM linux
|
-TERM linux
|
||||||
-TERM linux-c
|
-TERM linux-c
|
||||||
-TERM mach-color
|
|
||||||
-TERM mach-gnu-color
|
|
||||||
-TERM mlterm
|
-TERM mlterm
|
||||||
-TERM putty
|
-TERM putty
|
||||||
-TERM putty-256color
|
|
||||||
-TERM rxvt*
|
-TERM rxvt*
|
||||||
-TERM screen*
|
-TERM screen*
|
||||||
-TERM st
|
-TERM st
|
||||||
-TERM st-256color
|
|
||||||
-TERM terminator
|
-TERM terminator
|
||||||
-TERM tmux*
|
-TERM tmux*
|
||||||
-TERM vt100
|
-TERM vt100
|
||||||
@ -142,7 +136,7 @@ index d2ea453..74c34ba 100644
|
|||||||
|
|
||||||
# Below are the color init strings for the basic file types. A color init
|
# Below are the color init strings for the basic file types. A color init
|
||||||
# string consists of one or more of the following numeric codes:
|
# string consists of one or more of the following numeric codes:
|
||||||
@@ -49,29 +26,40 @@ TERM xterm*
|
@@ -43,29 +26,40 @@ TERM xterm*
|
||||||
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
|
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
|
||||||
# Background color codes:
|
# Background color codes:
|
||||||
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
|
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
|
||||||
@ -199,7 +193,7 @@ index d2ea453..74c34ba 100644
|
|||||||
|
|
||||||
# List any file extensions like '.gz' or '.tar' that you would like ls
|
# 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.
|
# to colorize below. Put the extension, a space, and the color init string.
|
||||||
@@ -89,115 +77,115 @@ EXEC 01;32
|
@@ -83,119 +77,115 @@ EXEC 01;32
|
||||||
#.csh 01;32
|
#.csh 01;32
|
||||||
|
|
||||||
# archives or compressed (bright red)
|
# archives or compressed (bright red)
|
||||||
@ -225,6 +219,8 @@ index d2ea453..74c34ba 100644
|
|||||||
-.lz 01;31
|
-.lz 01;31
|
||||||
-.lzo 01;31
|
-.lzo 01;31
|
||||||
-.xz 01;31
|
-.xz 01;31
|
||||||
|
-.zst 01;31
|
||||||
|
-.tzst 01;31
|
||||||
-.bz2 01;31
|
-.bz2 01;31
|
||||||
-.bz 01;31
|
-.bz 01;31
|
||||||
-.tbz 01;31
|
-.tbz 01;31
|
||||||
@ -289,6 +285,8 @@ index d2ea453..74c34ba 100644
|
|||||||
# image formats
|
# image formats
|
||||||
-.jpg 01;35
|
-.jpg 01;35
|
||||||
-.jpeg 01;35
|
-.jpeg 01;35
|
||||||
|
-.mjpg 01;35
|
||||||
|
-.mjpeg 01;35
|
||||||
-.gif 01;35
|
-.gif 01;35
|
||||||
-.bmp 01;35
|
-.bmp 01;35
|
||||||
-.pbm 01;35
|
-.pbm 01;35
|
||||||
@ -445,7 +443,7 @@ index d2ea453..95d6879 100644
|
|||||||
|
|
||||||
# Below are TERM entries, which can be a glob patterns, to match
|
# Below are TERM entries, which can be a glob patterns, to match
|
||||||
# against the TERM environment variable to determine if it is colorizable.
|
# against the TERM environment variable to determine if it is colorizable.
|
||||||
@@ -52,17 +57,17 @@ TERM xterm*
|
@@ -46,17 +51,17 @@ TERM xterm*
|
||||||
#NORMAL 00 # no color code at all
|
#NORMAL 00 # no color code at all
|
||||||
#FILE 00 # regular file: use no color at all
|
#FILE 00 # regular file: use no color at all
|
||||||
RESET 0 # reset to "normal" color
|
RESET 0 # reset to "normal" color
|
||||||
@ -468,7 +466,7 @@ index d2ea453..95d6879 100644
|
|||||||
SETUID 37;41 # file that is setuid (u+s)
|
SETUID 37;41 # file that is setuid (u+s)
|
||||||
SETGID 30;43 # file that is setgid (g+s)
|
SETGID 30;43 # file that is setgid (g+s)
|
||||||
CAPABILITY 30;41 # file with capability
|
CAPABILITY 30;41 # file with capability
|
||||||
@@ -71,7 +76,7 @@ OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
|
@@ -65,7 +70,7 @@ OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
|
||||||
STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable
|
STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable
|
||||||
|
|
||||||
# This is for files with execute permission:
|
# This is for files with execute permission:
|
||||||
@ -477,7 +475,7 @@ index d2ea453..95d6879 100644
|
|||||||
|
|
||||||
# List any file extensions like '.gz' or '.tar' that you would like ls
|
# 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.
|
# to colorize below. Put the extension, a space, and the color init string.
|
||||||
@@ -88,99 +93,99 @@ EXEC 01;32
|
@@ -82,103 +87,99 @@ EXEC 01;32
|
||||||
#.sh 01;32
|
#.sh 01;32
|
||||||
#.csh 01;32
|
#.csh 01;32
|
||||||
|
|
||||||
@ -504,6 +502,8 @@ index d2ea453..95d6879 100644
|
|||||||
-.lz 01;31
|
-.lz 01;31
|
||||||
-.lzo 01;31
|
-.lzo 01;31
|
||||||
-.xz 01;31
|
-.xz 01;31
|
||||||
|
-.zst 01;31
|
||||||
|
-.tzst 01;31
|
||||||
-.bz2 01;31
|
-.bz2 01;31
|
||||||
-.bz 01;31
|
-.bz 01;31
|
||||||
-.tbz 01;31
|
-.tbz 01;31
|
||||||
@ -569,6 +569,8 @@ index d2ea453..95d6879 100644
|
|||||||
# image formats
|
# image formats
|
||||||
-.jpg 01;35
|
-.jpg 01;35
|
||||||
-.jpeg 01;35
|
-.jpeg 01;35
|
||||||
|
-.mjpg 01;35
|
||||||
|
-.mjpeg 01;35
|
||||||
-.gif 01;35
|
-.gif 01;35
|
||||||
-.bmp 01;35
|
-.bmp 01;35
|
||||||
-.pbm 01;35
|
-.pbm 01;35
|
||||||
|
@ -1,188 +0,0 @@
|
|||||||
From c424bbcb532c5b9924349e3522b3b431eaa7c178 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Kamil Dudka <kdudka@redhat.com>
|
|
||||||
Date: Fri, 8 Jul 2016 18:59:35 +0200
|
|
||||||
Subject: [PATCH] install: with -Z, set default SELinux context for created
|
|
||||||
directories
|
|
||||||
|
|
||||||
* doc/coreutils.texi (install invocation): Update -Z documentation.
|
|
||||||
* src/install.c (make_ancestor): Set default security context before
|
|
||||||
calling mkdir() if the -Z option is given.
|
|
||||||
(process_dir): Call restorecon() on the destination directory if the
|
|
||||||
-Z option is given.
|
|
||||||
(usage): Update -Z documentation.
|
|
||||||
* tests/install/install-Z-selinux.sh: A new test for 'install -Z -D'
|
|
||||||
and 'install -Z -d' based on tests/mkdir/restorecon.sh.
|
|
||||||
* tests/local.mk: Reference the test.
|
|
||||||
* NEWS: Mention the improvement.
|
|
||||||
Reported at https://bugzilla.redhat.com/1339135
|
|
||||||
Fixes http://bugs.gnu.org/23868
|
|
||||||
|
|
||||||
Upstream-commit: 502518b44039138d148e2e15157d125c82d02af0
|
|
||||||
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
|
|
||||||
---
|
|
||||||
doc/coreutils.texi | 2 +-
|
|
||||||
src/install.c | 33 ++++++++++++++++++----
|
|
||||||
tests/install/install-Z-selinux.sh | 58 ++++++++++++++++++++++++++++++++++++++
|
|
||||||
tests/local.mk | 1 +
|
|
||||||
4 files changed, 88 insertions(+), 6 deletions(-)
|
|
||||||
create mode 100644 tests/install/install-Z-selinux.sh
|
|
||||||
|
|
||||||
diff --git a/doc/coreutils.texi b/doc/coreutils.texi
|
|
||||||
index 092192c..1543f27 100644
|
|
||||||
--- a/doc/coreutils.texi
|
|
||||||
+++ b/doc/coreutils.texi
|
|
||||||
@@ -9208,7 +9208,7 @@ Print the name of each file before moving it.
|
|
||||||
@cindex security context
|
|
||||||
This option functions similarly to the @command{restorecon} command,
|
|
||||||
by adjusting the SELinux security context according
|
|
||||||
-to the system default type for destination files.
|
|
||||||
+to the system default type for destination files and each created directory.
|
|
||||||
|
|
||||||
@end table
|
|
||||||
|
|
||||||
diff --git a/src/install.c b/src/install.c
|
|
||||||
index 089f298..1b7a209 100644
|
|
||||||
--- a/src/install.c
|
|
||||||
+++ b/src/install.c
|
|
||||||
@@ -39,6 +39,7 @@
|
|
||||||
#include "prog-fprintf.h"
|
|
||||||
#include "quote.h"
|
|
||||||
#include "savewd.h"
|
|
||||||
+#include "selinux.h"
|
|
||||||
#include "stat-time.h"
|
|
||||||
#include "utimens.h"
|
|
||||||
#include "xstrtol.h"
|
|
||||||
@@ -423,6 +424,12 @@ announce_mkdir (char const *dir, void *options)
|
|
||||||
static int
|
|
||||||
make_ancestor (char const *dir, char const *component, void *options)
|
|
||||||
{
|
|
||||||
+ struct cp_options const *x = options;
|
|
||||||
+ if (x->set_security_context && defaultcon (dir, S_IFDIR) < 0
|
|
||||||
+ && ! ignorable_ctx_err (errno))
|
|
||||||
+ error (0, errno, _("failed to set default creation context for %s"),
|
|
||||||
+ quoteaf (dir));
|
|
||||||
+
|
|
||||||
int r = mkdir (component, DEFAULT_MODE);
|
|
||||||
if (r == 0)
|
|
||||||
announce_mkdir (dir, options);
|
|
||||||
@@ -433,12 +440,28 @@ make_ancestor (char const *dir, char const *component, void *options)
|
|
||||||
static int
|
|
||||||
process_dir (char *dir, struct savewd *wd, void *options)
|
|
||||||
{
|
|
||||||
- return (make_dir_parents (dir, wd,
|
|
||||||
- make_ancestor, options,
|
|
||||||
- dir_mode, announce_mkdir,
|
|
||||||
- dir_mode_bits, owner_id, group_id, false)
|
|
||||||
+ struct cp_options const *x = options;
|
|
||||||
+
|
|
||||||
+ int ret = (make_dir_parents (dir, wd, make_ancestor, options,
|
|
||||||
+ dir_mode, announce_mkdir,
|
|
||||||
+ dir_mode_bits, owner_id, group_id, false)
|
|
||||||
? EXIT_SUCCESS
|
|
||||||
: EXIT_FAILURE);
|
|
||||||
+
|
|
||||||
+ /* FIXME: Due to the current structure of make_dir_parents()
|
|
||||||
+ we don't have the facility to call defaultcon() before the
|
|
||||||
+ final component of DIR is created. So for now, create the
|
|
||||||
+ final component with the context from previous component
|
|
||||||
+ and here we set the context for the final component. */
|
|
||||||
+ if (ret == EXIT_SUCCESS && x->set_security_context)
|
|
||||||
+ {
|
|
||||||
+ if (! restorecon (last_component (dir), false, false)
|
|
||||||
+ && ! ignorable_ctx_err (errno))
|
|
||||||
+ error (0, errno, _("failed to restore context for %s"),
|
|
||||||
+ quoteaf (dir));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Copy file FROM onto file TO, creating TO if necessary.
|
|
||||||
@@ -651,7 +674,7 @@ In the 4th form, create all components of the given DIRECTORY(ies).\n\
|
|
||||||
fputs (_("\
|
|
||||||
-P, --preserve-context preserve SELinux security context (-P deprecated)\n\
|
|
||||||
-Z set SELinux security context of destination\n\
|
|
||||||
- file to default type\n\
|
|
||||||
+ file and each created directory to default type\n\
|
|
||||||
--context[=CTX] like -Z, or if CTX is specified then set the\n\
|
|
||||||
SELinux or SMACK security context to CTX\n\
|
|
||||||
"), stdout);
|
|
||||||
diff --git a/tests/install/install-Z-selinux.sh b/tests/install/install-Z-selinux.sh
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..9c3b642
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tests/install/install-Z-selinux.sh
|
|
||||||
@@ -0,0 +1,58 @@
|
|
||||||
+#!/bin/sh
|
|
||||||
+# test 'install -Z -D' and 'install -Z -d'
|
|
||||||
+# based on tests/mkdir/restorecon.sh
|
|
||||||
+
|
|
||||||
+# Copyright (C) 2013-2016 Free Software Foundation, Inc.
|
|
||||||
+
|
|
||||||
+# This program is free software: you can redistribute it and/or modify
|
|
||||||
+# it under the terms of the GNU General Public License as published by
|
|
||||||
+# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
+# (at your option) any later version.
|
|
||||||
+
|
|
||||||
+# This program is distributed in the hope that it will be useful,
|
|
||||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
+# GNU General Public License for more details.
|
|
||||||
+
|
|
||||||
+# You should have received a copy of the GNU General Public License
|
|
||||||
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
+
|
|
||||||
+. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
|
|
||||||
+print_ver_ ginstall
|
|
||||||
+require_selinux_
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+get_selinux_type() { ls -Zd "$1" | sed -n 's/.*:\(.*_t\):.*/\1/p'; }
|
|
||||||
+
|
|
||||||
+mkdir subdir || framework_failure_
|
|
||||||
+chcon 'root:object_r:tmp_t:s0' subdir || framework_failure_
|
|
||||||
+cd subdir
|
|
||||||
+
|
|
||||||
+# Since in a tmp_t dir, dirs can be created as user_tmp_t ...
|
|
||||||
+touch standard || framework_failure_
|
|
||||||
+mkdir restored || framework_failure_
|
|
||||||
+if restorecon restored 2>/dev/null; then
|
|
||||||
+ # ... but when restored can be set to user_home_t
|
|
||||||
+ # So ensure the type for these mkdir -Z cases matches
|
|
||||||
+ # the directory type as set by restorecon.
|
|
||||||
+ ginstall -Z standard single || fail=1
|
|
||||||
+ ginstall -Z -d single_d || fail=1
|
|
||||||
+ # Run these as separate processes in case global context
|
|
||||||
+ # set for an arg, impacts on another arg
|
|
||||||
+ # TODO: Have the defaultcon() vary over these directories
|
|
||||||
+ for dst in single_d/existing/file multi/ple/file; do
|
|
||||||
+ ginstall -Z -D standard "$dst" || fail=1
|
|
||||||
+ done
|
|
||||||
+ restored_type=$(get_selinux_type 'restored')
|
|
||||||
+ test "$(get_selinux_type 'single')" = "$restored_type" || fail=1
|
|
||||||
+ test "$(get_selinux_type 'single_d')" = "$restored_type" || fail=1
|
|
||||||
+ test "$(get_selinux_type 'single_d/existing')" = "$restored_type" || fail=1
|
|
||||||
+ test "$(get_selinux_type 'multi')" = "$restored_type" || fail=1
|
|
||||||
+ test "$(get_selinux_type 'multi/ple')" = "$restored_type" || fail=1
|
|
||||||
+fi
|
|
||||||
+if test "$fail" = '1'; then
|
|
||||||
+ ls -UZd standard restored
|
|
||||||
+ ls -UZd single single_d single_d/existing multi multi/ple
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+Exit $fail
|
|
||||||
diff --git a/tests/local.mk b/tests/local.mk
|
|
||||||
index ec23448..42d39f2 100644
|
|
||||||
--- a/tests/local.mk
|
|
||||||
+++ b/tests/local.mk
|
|
||||||
@@ -548,6 +548,7 @@ all_tests = \
|
|
||||||
tests/install/d-slashdot.sh \
|
|
||||||
tests/install/install-C.sh \
|
|
||||||
tests/install/install-C-selinux.sh \
|
|
||||||
+ tests/install/install-Z-selinux.sh \
|
|
||||||
tests/install/strip-program.sh \
|
|
||||||
tests/install/trap.sh \
|
|
||||||
tests/ln/backup-1.sh \
|
|
||||||
--
|
|
||||||
2.5.5
|
|
||||||
|
|
@ -1,236 +0,0 @@
|
|||||||
From 9338b244572e07bbff314b3570228e8cf43f1300 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Kamil Dudka <kdudka@redhat.com>
|
|
||||||
Date: Tue, 6 Sep 2016 17:38:26 +0200
|
|
||||||
Subject: [PATCH] ls: allow interruption when reading slow directories
|
|
||||||
|
|
||||||
Postpone installation of signal handlers until they're needed.
|
|
||||||
That is right before the first escape sequence is printed.
|
|
||||||
|
|
||||||
* src/ls.c (signal_setup): A new function refactored from main()
|
|
||||||
to set and restore signal handlers.
|
|
||||||
(main): Move signal handler setup to put_indicator()
|
|
||||||
so that the default signal handling is untouched as long as possible.
|
|
||||||
Adjusted condition for restoring signal handlers to reflect the change.
|
|
||||||
(put_indicator): Install signal handlers if called for the very first
|
|
||||||
time. It uses the same code that was in main() prior to this commit.
|
|
||||||
* NEWS: Mention the improvement.
|
|
||||||
|
|
||||||
See https://bugzilla.redhat.com/1365933
|
|
||||||
Fixes http://bugs.gnu.org/24232
|
|
||||||
|
|
||||||
Upstream-commit: 5445f7811ff945ea13aa2a0fd797eb4c0a0e4db0
|
|
||||||
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
|
|
||||||
---
|
|
||||||
src/ls.c | 161 ++++++++++++++++++++++++++++++++++++---------------------------
|
|
||||||
1 file changed, 93 insertions(+), 68 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/ls.c b/src/ls.c
|
|
||||||
index d976036..66df307 100644
|
|
||||||
--- a/src/ls.c
|
|
||||||
+++ b/src/ls.c
|
|
||||||
@@ -1244,13 +1244,12 @@ process_signals (void)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
-int
|
|
||||||
-main (int argc, char **argv)
|
|
||||||
-{
|
|
||||||
- int i;
|
|
||||||
- struct pending *thispend;
|
|
||||||
- int n_files;
|
|
||||||
+/* Setup signal handlers if INIT is true,
|
|
||||||
+ otherwise restore to the default. */
|
|
||||||
|
|
||||||
+static void
|
|
||||||
+signal_setup (bool init)
|
|
||||||
+{
|
|
||||||
/* The signals that are trapped, and the number of such signals. */
|
|
||||||
static int const sig[] =
|
|
||||||
{
|
|
||||||
@@ -1278,8 +1277,77 @@ main (int argc, char **argv)
|
|
||||||
enum { nsigs = ARRAY_CARDINALITY (sig) };
|
|
||||||
|
|
||||||
#if ! SA_NOCLDSTOP
|
|
||||||
- bool caught_sig[nsigs];
|
|
||||||
+ static bool caught_sig[nsigs];
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+ int j;
|
|
||||||
+
|
|
||||||
+ if (init)
|
|
||||||
+ {
|
|
||||||
+#if SA_NOCLDSTOP
|
|
||||||
+ struct sigaction act;
|
|
||||||
+
|
|
||||||
+ sigemptyset (&caught_signals);
|
|
||||||
+ for (j = 0; j < nsigs; j++)
|
|
||||||
+ {
|
|
||||||
+ sigaction (sig[j], NULL, &act);
|
|
||||||
+ if (act.sa_handler != SIG_IGN)
|
|
||||||
+ sigaddset (&caught_signals, sig[j]);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ act.sa_mask = caught_signals;
|
|
||||||
+ act.sa_flags = SA_RESTART;
|
|
||||||
+
|
|
||||||
+ for (j = 0; j < nsigs; j++)
|
|
||||||
+ if (sigismember (&caught_signals, sig[j]))
|
|
||||||
+ {
|
|
||||||
+ act.sa_handler = sig[j] == SIGTSTP ? stophandler : sighandler;
|
|
||||||
+ sigaction (sig[j], &act, NULL);
|
|
||||||
+ }
|
|
||||||
+#else
|
|
||||||
+ for (j = 0; j < nsigs; j++)
|
|
||||||
+ {
|
|
||||||
+ caught_sig[j] = (signal (sig[j], SIG_IGN) != SIG_IGN);
|
|
||||||
+ if (caught_sig[j])
|
|
||||||
+ {
|
|
||||||
+ signal (sig[j], sig[j] == SIGTSTP ? stophandler : sighandler);
|
|
||||||
+ siginterrupt (sig[j], 0);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
#endif
|
|
||||||
+ }
|
|
||||||
+ else /* restore. */
|
|
||||||
+ {
|
|
||||||
+#if SA_NOCLDSTOP
|
|
||||||
+ for (j = 0; j < nsigs; j++)
|
|
||||||
+ if (sigismember (&caught_signals, sig[j]))
|
|
||||||
+ signal (sig[j], SIG_DFL);
|
|
||||||
+#else
|
|
||||||
+ for (j = 0; j < nsigs; j++)
|
|
||||||
+ if (caught_sig[j])
|
|
||||||
+ signal (sig[j], SIG_DFL);
|
|
||||||
+#endif
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static inline void
|
|
||||||
+signal_init (void)
|
|
||||||
+{
|
|
||||||
+ signal_setup (true);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static inline void
|
|
||||||
+signal_restore (void)
|
|
||||||
+{
|
|
||||||
+ signal_setup (false);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+main (int argc, char **argv)
|
|
||||||
+{
|
|
||||||
+ int i;
|
|
||||||
+ struct pending *thispend;
|
|
||||||
+ int n_files;
|
|
||||||
|
|
||||||
initialize_main (&argc, &argv);
|
|
||||||
set_program_name (argv[0]);
|
|
||||||
@@ -1314,46 +1382,6 @@ main (int argc, char **argv)
|
|
||||||
|| (is_colored (C_EXEC) && color_symlink_as_referent)
|
|
||||||
|| (is_colored (C_MISSING) && format == long_format))
|
|
||||||
check_symlink_color = true;
|
|
||||||
-
|
|
||||||
- /* If the standard output is a controlling terminal, watch out
|
|
||||||
- for signals, so that the colors can be restored to the
|
|
||||||
- default state if "ls" is suspended or interrupted. */
|
|
||||||
-
|
|
||||||
- if (0 <= tcgetpgrp (STDOUT_FILENO))
|
|
||||||
- {
|
|
||||||
- int j;
|
|
||||||
-#if SA_NOCLDSTOP
|
|
||||||
- struct sigaction act;
|
|
||||||
-
|
|
||||||
- sigemptyset (&caught_signals);
|
|
||||||
- for (j = 0; j < nsigs; j++)
|
|
||||||
- {
|
|
||||||
- sigaction (sig[j], NULL, &act);
|
|
||||||
- if (act.sa_handler != SIG_IGN)
|
|
||||||
- sigaddset (&caught_signals, sig[j]);
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- act.sa_mask = caught_signals;
|
|
||||||
- act.sa_flags = SA_RESTART;
|
|
||||||
-
|
|
||||||
- for (j = 0; j < nsigs; j++)
|
|
||||||
- if (sigismember (&caught_signals, sig[j]))
|
|
||||||
- {
|
|
||||||
- act.sa_handler = sig[j] == SIGTSTP ? stophandler : sighandler;
|
|
||||||
- sigaction (sig[j], &act, NULL);
|
|
||||||
- }
|
|
||||||
-#else
|
|
||||||
- for (j = 0; j < nsigs; j++)
|
|
||||||
- {
|
|
||||||
- caught_sig[j] = (signal (sig[j], SIG_IGN) != SIG_IGN);
|
|
||||||
- if (caught_sig[j])
|
|
||||||
- {
|
|
||||||
- signal (sig[j], sig[j] == SIGTSTP ? stophandler : sighandler);
|
|
||||||
- siginterrupt (sig[j], 0);
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-#endif
|
|
||||||
- }
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dereference == DEREF_UNDEFINED)
|
|
||||||
@@ -1466,32 +1494,21 @@ main (int argc, char **argv)
|
|
||||||
print_dir_name = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (print_with_color)
|
|
||||||
+ if (print_with_color && used_color)
|
|
||||||
{
|
|
||||||
int j;
|
|
||||||
|
|
||||||
- if (used_color)
|
|
||||||
- {
|
|
||||||
- /* Skip the restore when it would be a no-op, i.e.,
|
|
||||||
- when left is "\033[" and right is "m". */
|
|
||||||
- if (!(color_indicator[C_LEFT].len == 2
|
|
||||||
- && memcmp (color_indicator[C_LEFT].string, "\033[", 2) == 0
|
|
||||||
- && color_indicator[C_RIGHT].len == 1
|
|
||||||
- && color_indicator[C_RIGHT].string[0] == 'm'))
|
|
||||||
- restore_default_color ();
|
|
||||||
- }
|
|
||||||
+ /* Skip the restore when it would be a no-op, i.e.,
|
|
||||||
+ when left is "\033[" and right is "m". */
|
|
||||||
+ if (!(color_indicator[C_LEFT].len == 2
|
|
||||||
+ && memcmp (color_indicator[C_LEFT].string, "\033[", 2) == 0
|
|
||||||
+ && color_indicator[C_RIGHT].len == 1
|
|
||||||
+ && color_indicator[C_RIGHT].string[0] == 'm'))
|
|
||||||
+ restore_default_color ();
|
|
||||||
+
|
|
||||||
fflush (stdout);
|
|
||||||
|
|
||||||
- /* Restore the default signal handling. */
|
|
||||||
-#if SA_NOCLDSTOP
|
|
||||||
- for (j = 0; j < nsigs; j++)
|
|
||||||
- if (sigismember (&caught_signals, sig[j]))
|
|
||||||
- signal (sig[j], SIG_DFL);
|
|
||||||
-#else
|
|
||||||
- for (j = 0; j < nsigs; j++)
|
|
||||||
- if (caught_sig[j])
|
|
||||||
- signal (sig[j], SIG_DFL);
|
|
||||||
-#endif
|
|
||||||
+ signal_restore ();
|
|
||||||
|
|
||||||
/* Act on any signals that arrived before the default was restored.
|
|
||||||
This can process signals out of order, but there doesn't seem to
|
|
||||||
@@ -4482,6 +4499,14 @@ put_indicator (const struct bin_str *ind)
|
|
||||||
if (! used_color)
|
|
||||||
{
|
|
||||||
used_color = true;
|
|
||||||
+
|
|
||||||
+ /* If the standard output is a controlling terminal, watch out
|
|
||||||
+ for signals, so that the colors can be restored to the
|
|
||||||
+ default state if "ls" is suspended or interrupted. */
|
|
||||||
+
|
|
||||||
+ if (0 <= tcgetpgrp (STDOUT_FILENO))
|
|
||||||
+ signal_init ();
|
|
||||||
+
|
|
||||||
prep_non_filename_text ();
|
|
||||||
}
|
|
||||||
|
|
||||||
--
|
|
||||||
2.7.4
|
|
||||||
|
|
@ -1,332 +0,0 @@
|
|||||||
From c479153d77b419a6cae4551b63d2b73096c1130e Mon Sep 17 00:00:00 2001
|
|
||||||
From: Kamil Dudka <kdudka@redhat.com>
|
|
||||||
Date: Mon, 18 Jul 2016 19:04:43 +0200
|
|
||||||
Subject: [PATCH 1/3] maint: sort.c: deduplicate code for traversing numbers
|
|
||||||
|
|
||||||
* src/sort.c (traverse_raw_number): New function for traversing numbers.
|
|
||||||
(find_unit_order): Use traverse_raw_number() instead of open-coding it.
|
|
||||||
(debug_key): Likewise.
|
|
||||||
---
|
|
||||||
src/sort.c | 63 ++++++++++++++++++++++++++++++++++----------------------------
|
|
||||||
1 file changed, 35 insertions(+), 28 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/sort.c b/src/sort.c
|
|
||||||
index 5b02343..e28bb6c 100644
|
|
||||||
--- a/src/sort.c
|
|
||||||
+++ b/src/sort.c
|
|
||||||
@@ -2231,18 +2231,16 @@ static char const unit_order[UCHAR_LIM] =
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
|
|
||||||
-/* Return an integer that represents the order of magnitude of the
|
|
||||||
- unit following the number. The number may contain thousands
|
|
||||||
- separators and a decimal point, but it may not contain leading blanks.
|
|
||||||
- Negative numbers get negative orders; zero numbers have a zero order. */
|
|
||||||
-
|
|
||||||
-static int _GL_ATTRIBUTE_PURE
|
|
||||||
-find_unit_order (char const *number)
|
|
||||||
+/* Traverse number given as *number consisting of digits, thousands_sep, and
|
|
||||||
+ decimal_point chars only. Returns the highest digit found in the number,
|
|
||||||
+ or '\0' if no digit has been found. Upon return *number points at the
|
|
||||||
+ character that immediately follows after the given number. */
|
|
||||||
+static unsigned char
|
|
||||||
+traverse_raw_number (char const **number)
|
|
||||||
{
|
|
||||||
- bool minus_sign = (*number == '-');
|
|
||||||
- char const *p = number + minus_sign;
|
|
||||||
- int nonzero = 0;
|
|
||||||
+ char const *p = *number;
|
|
||||||
unsigned char ch;
|
|
||||||
+ unsigned char max_digit = '\0';
|
|
||||||
|
|
||||||
/* Scan to end of number.
|
|
||||||
Decimals or separators not followed by digits stop the scan.
|
|
||||||
@@ -2253,16 +2251,34 @@ find_unit_order (char const *number)
|
|
||||||
do
|
|
||||||
{
|
|
||||||
while (ISDIGIT (ch = *p++))
|
|
||||||
- nonzero |= ch - '0';
|
|
||||||
+ if (max_digit < ch)
|
|
||||||
+ max_digit = ch;
|
|
||||||
}
|
|
||||||
while (ch == thousands_sep);
|
|
||||||
|
|
||||||
if (ch == decimal_point)
|
|
||||||
while (ISDIGIT (ch = *p++))
|
|
||||||
- nonzero |= ch - '0';
|
|
||||||
+ if (max_digit < ch)
|
|
||||||
+ max_digit = ch;
|
|
||||||
+
|
|
||||||
+ *number = p - 1;
|
|
||||||
+ return max_digit;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/* Return an integer that represents the order of magnitude of the
|
|
||||||
+ unit following the number. The number may contain thousands
|
|
||||||
+ separators and a decimal point, but it may not contain leading blanks.
|
|
||||||
+ Negative numbers get negative orders; zero numbers have a zero order. */
|
|
||||||
|
|
||||||
- if (nonzero)
|
|
||||||
+static int _GL_ATTRIBUTE_PURE
|
|
||||||
+find_unit_order (char const *number)
|
|
||||||
+{
|
|
||||||
+ bool minus_sign = (*number == '-');
|
|
||||||
+ char const *p = number + minus_sign;
|
|
||||||
+ unsigned char max_digit = traverse_raw_number (&p);
|
|
||||||
+ if ('0' < max_digit)
|
|
||||||
{
|
|
||||||
+ unsigned char ch = *p;
|
|
||||||
int order = unit_order[ch];
|
|
||||||
return (minus_sign ? -order : order);
|
|
||||||
}
|
|
||||||
@@ -2655,23 +2671,14 @@ debug_key (struct line const *line, struct keyfield const *key)
|
|
||||||
ignore_value (strtold (beg, &tighter_lim));
|
|
||||||
else if (key->numeric || key->human_numeric)
|
|
||||||
{
|
|
||||||
- char *p = beg + (beg < lim && *beg == '-');
|
|
||||||
- bool found_digit = false;
|
|
||||||
- unsigned char ch;
|
|
||||||
-
|
|
||||||
- do
|
|
||||||
+ char const *p = beg + (beg < lim && *beg == '-');
|
|
||||||
+ unsigned char max_digit = traverse_raw_number (&p);
|
|
||||||
+ if ('0' <= max_digit)
|
|
||||||
{
|
|
||||||
- while (ISDIGIT (ch = *p++))
|
|
||||||
- found_digit = true;
|
|
||||||
+ unsigned char ch = *p;
|
|
||||||
+ tighter_lim = (char *) p
|
|
||||||
+ + (key->human_numeric && unit_order[ch]);
|
|
||||||
}
|
|
||||||
- while (ch == thousands_sep);
|
|
||||||
-
|
|
||||||
- if (ch == decimal_point)
|
|
||||||
- while (ISDIGIT (ch = *p++))
|
|
||||||
- found_digit = true;
|
|
||||||
-
|
|
||||||
- if (found_digit)
|
|
||||||
- tighter_lim = p - ! (key->human_numeric && unit_order[ch]);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
tighter_lim = lim;
|
|
||||||
--
|
|
||||||
2.5.5
|
|
||||||
|
|
||||||
|
|
||||||
From 8c39465a5b0343ff7a21286dd69ed5430685d2f7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Kamil Dudka <kdudka@redhat.com>
|
|
||||||
Date: Mon, 18 Jul 2016 19:04:44 +0200
|
|
||||||
Subject: [PATCH 2/3] sort: make -h work with -k and blank used as thousands
|
|
||||||
separator
|
|
||||||
|
|
||||||
* src/sort.c (traverse_raw_number): Allow to skip only one occurrence
|
|
||||||
of thousands_sep to avoid finding the unit in the next column in case
|
|
||||||
thousands_sep matches as blank and is used as column delimiter.
|
|
||||||
* tests/misc/sort-h-thousands-sep.sh: Add regression test for this bug.
|
|
||||||
* tests/local.mk: Reference the test.
|
|
||||||
* NEWS: Mention the bug fix.
|
|
||||||
Reported at https://bugzilla.redhat.com/1355780
|
|
||||||
Fixes http://bugs.gnu.org/24015
|
|
||||||
---
|
|
||||||
src/sort.c | 14 ++++++++----
|
|
||||||
tests/local.mk | 1 +
|
|
||||||
tests/misc/sort-h-thousands-sep.sh | 47 ++++++++++++++++++++++++++++++++++++++
|
|
||||||
3 files changed, 57 insertions(+), 5 deletions(-)
|
|
||||||
create mode 100755 tests/misc/sort-h-thousands-sep.sh
|
|
||||||
|
|
||||||
diff --git a/src/sort.c b/src/sort.c
|
|
||||||
index e28bb6c..dd3ba58 100644
|
|
||||||
--- a/src/sort.c
|
|
||||||
+++ b/src/sort.c
|
|
||||||
@@ -2248,13 +2248,17 @@ traverse_raw_number (char const **number)
|
|
||||||
to be lacking in units.
|
|
||||||
FIXME: add support for multibyte thousands_sep and decimal_point. */
|
|
||||||
|
|
||||||
- do
|
|
||||||
+ while (ISDIGIT (ch = *p++))
|
|
||||||
{
|
|
||||||
- while (ISDIGIT (ch = *p++))
|
|
||||||
- if (max_digit < ch)
|
|
||||||
- max_digit = ch;
|
|
||||||
+ if (max_digit < ch)
|
|
||||||
+ max_digit = ch;
|
|
||||||
+
|
|
||||||
+ /* Allow to skip only one occurrence of thousands_sep to avoid finding
|
|
||||||
+ the unit in the next column in case thousands_sep matches as blank
|
|
||||||
+ and is used as column delimiter. */
|
|
||||||
+ if (*p == thousands_sep)
|
|
||||||
+ ++p;
|
|
||||||
}
|
|
||||||
- while (ch == thousands_sep);
|
|
||||||
|
|
||||||
if (ch == decimal_point)
|
|
||||||
while (ISDIGIT (ch = *p++))
|
|
||||||
diff --git a/tests/local.mk b/tests/local.mk
|
|
||||||
index 42d39f2..dccff8d 100644
|
|
||||||
--- a/tests/local.mk
|
|
||||||
+++ b/tests/local.mk
|
|
||||||
@@ -344,6 +344,7 @@ all_tests = \
|
|
||||||
tests/misc/sort-discrim.sh \
|
|
||||||
tests/misc/sort-files0-from.pl \
|
|
||||||
tests/misc/sort-float.sh \
|
|
||||||
+ tests/misc/sort-h-thousands-sep.sh \
|
|
||||||
tests/misc/sort-mb-tests.sh \
|
|
||||||
tests/i18n/sort.sh \
|
|
||||||
tests/misc/sort-merge.pl \
|
|
||||||
diff --git a/tests/misc/sort-h-thousands-sep.sh b/tests/misc/sort-h-thousands-sep.sh
|
|
||||||
new file mode 100755
|
|
||||||
index 0000000..17f1b6c
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tests/misc/sort-h-thousands-sep.sh
|
|
||||||
@@ -0,0 +1,47 @@
|
|
||||||
+#!/bin/sh
|
|
||||||
+# exercise 'sort -h' in locales where thousands separator is blank
|
|
||||||
+
|
|
||||||
+# Copyright (C) 2016 Free Software Foundation, Inc.
|
|
||||||
+
|
|
||||||
+# This program is free software: you can redistribute it and/or modify
|
|
||||||
+# it under the terms of the GNU General Public License as published by
|
|
||||||
+# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
+# (at your option) any later version.
|
|
||||||
+
|
|
||||||
+# This program is distributed in the hope that it will be useful,
|
|
||||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
+# GNU General Public License for more details.
|
|
||||||
+
|
|
||||||
+# You should have received a copy of the GNU General Public License
|
|
||||||
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
+
|
|
||||||
+. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
|
|
||||||
+print_ver_ sort
|
|
||||||
+test "$(LC_ALL=sv_SE locale thousands_sep)" = ' ' \
|
|
||||||
+ || skip_ 'The Swedish locale with blank thousands separator is unavailable.'
|
|
||||||
+
|
|
||||||
+tee exp1 > in << _EOF_
|
|
||||||
+1 1k 4 003 1M
|
|
||||||
+2k 2M 4 002 2
|
|
||||||
+3M 3 4 001 3k
|
|
||||||
+_EOF_
|
|
||||||
+
|
|
||||||
+cat > exp2 << _EOF_
|
|
||||||
+3M 3 4 001 3k
|
|
||||||
+1 1k 4 003 1M
|
|
||||||
+2k 2M 4 002 2
|
|
||||||
+_EOF_
|
|
||||||
+
|
|
||||||
+cat > exp3 << _EOF_
|
|
||||||
+3M 3 4 001 3k
|
|
||||||
+2k 2M 4 002 2
|
|
||||||
+1 1k 4 003 1M
|
|
||||||
+_EOF_
|
|
||||||
+
|
|
||||||
+for i in 1 2 3; do
|
|
||||||
+ LC_ALL="sv_SE.utf8" sort -h -k $i "in" > "out${i}" || fail=1
|
|
||||||
+ compare "exp${i}" "out${i}" || fail=1
|
|
||||||
+done
|
|
||||||
+
|
|
||||||
+Exit $fail
|
|
||||||
--
|
|
||||||
2.5.5
|
|
||||||
|
|
||||||
|
|
||||||
From 46ef53f558e7bc1c0bc0abd62a86b40b4141e058 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Kamil Dudka <kdudka@redhat.com>
|
|
||||||
Date: Mon, 18 Jul 2016 19:04:45 +0200
|
|
||||||
Subject: [PATCH 3/3] sort: with -h, disallow thousands separator between
|
|
||||||
number and unit
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
* src/sort.c (traverse_raw_number): Accept thousands separator only
|
|
||||||
if it is immediately followed by a digit.
|
|
||||||
* tests/misc/sort-h-thousands-sep.sh: Cover the fix for this bug.
|
|
||||||
|
|
||||||
Suggested by Pádraig Brady in http://bugs.gnu.org/24015
|
|
||||||
---
|
|
||||||
src/sort.c | 11 ++++++++++-
|
|
||||||
tests/misc/sort-h-thousands-sep.sh | 25 +++++++++++++------------
|
|
||||||
2 files changed, 23 insertions(+), 13 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/sort.c b/src/sort.c
|
|
||||||
index dd3ba58..69ef75f 100644
|
|
||||||
--- a/src/sort.c
|
|
||||||
+++ b/src/sort.c
|
|
||||||
@@ -2241,6 +2241,7 @@ traverse_raw_number (char const **number)
|
|
||||||
char const *p = *number;
|
|
||||||
unsigned char ch;
|
|
||||||
unsigned char max_digit = '\0';
|
|
||||||
+ bool ends_with_thousands_sep = false;
|
|
||||||
|
|
||||||
/* Scan to end of number.
|
|
||||||
Decimals or separators not followed by digits stop the scan.
|
|
||||||
@@ -2256,10 +2257,18 @@ traverse_raw_number (char const **number)
|
|
||||||
/* Allow to skip only one occurrence of thousands_sep to avoid finding
|
|
||||||
the unit in the next column in case thousands_sep matches as blank
|
|
||||||
and is used as column delimiter. */
|
|
||||||
- if (*p == thousands_sep)
|
|
||||||
+ ends_with_thousands_sep = (*p == thousands_sep);
|
|
||||||
+ if (ends_with_thousands_sep)
|
|
||||||
++p;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (ends_with_thousands_sep)
|
|
||||||
+ {
|
|
||||||
+ /* thousands_sep not followed by digit is not allowed. */
|
|
||||||
+ *number = p - 2;
|
|
||||||
+ return max_digit;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (ch == decimal_point)
|
|
||||||
while (ISDIGIT (ch = *p++))
|
|
||||||
if (max_digit < ch)
|
|
||||||
diff --git a/tests/misc/sort-h-thousands-sep.sh b/tests/misc/sort-h-thousands-sep.sh
|
|
||||||
index 17f1b6c..3ffa89e 100755
|
|
||||||
--- a/tests/misc/sort-h-thousands-sep.sh
|
|
||||||
+++ b/tests/misc/sort-h-thousands-sep.sh
|
|
||||||
@@ -18,28 +18,29 @@
|
|
||||||
|
|
||||||
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
|
|
||||||
print_ver_ sort
|
|
||||||
+
|
|
||||||
test "$(LC_ALL=sv_SE locale thousands_sep)" = ' ' \
|
|
||||||
|| skip_ 'The Swedish locale with blank thousands separator is unavailable.'
|
|
||||||
|
|
||||||
-tee exp1 > in << _EOF_
|
|
||||||
-1 1k 4 003 1M
|
|
||||||
-2k 2M 4 002 2
|
|
||||||
-3M 3 4 001 3k
|
|
||||||
+tee exp1 exp3 > in << _EOF_
|
|
||||||
+1 1k 1 M 4 003 1M
|
|
||||||
+2k 2M 2 k 4 002 2
|
|
||||||
+3M 3 3 G 4 001 3k
|
|
||||||
_EOF_
|
|
||||||
|
|
||||||
cat > exp2 << _EOF_
|
|
||||||
-3M 3 4 001 3k
|
|
||||||
-1 1k 4 003 1M
|
|
||||||
-2k 2M 4 002 2
|
|
||||||
+3M 3 3 G 4 001 3k
|
|
||||||
+1 1k 1 M 4 003 1M
|
|
||||||
+2k 2M 2 k 4 002 2
|
|
||||||
_EOF_
|
|
||||||
|
|
||||||
-cat > exp3 << _EOF_
|
|
||||||
-3M 3 4 001 3k
|
|
||||||
-2k 2M 4 002 2
|
|
||||||
-1 1k 4 003 1M
|
|
||||||
+cat > exp5 << _EOF_
|
|
||||||
+3M 3 3 G 4 001 3k
|
|
||||||
+2k 2M 2 k 4 002 2
|
|
||||||
+1 1k 1 M 4 003 1M
|
|
||||||
_EOF_
|
|
||||||
|
|
||||||
-for i in 1 2 3; do
|
|
||||||
+for i in 1 2 3 5; do
|
|
||||||
LC_ALL="sv_SE.utf8" sort -h -k $i "in" > "out${i}" || fail=1
|
|
||||||
compare "exp${i}" "out${i}" || fail=1
|
|
||||||
done
|
|
||||||
--
|
|
||||||
2.5.5
|
|
||||||
|
|
@ -1,115 +0,0 @@
|
|||||||
From 1e1a69da31b39e4d672ccb8a3ca0e5400d4720ee Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
|
|
||||||
Date: Wed, 26 Oct 2016 15:45:01 +0100
|
|
||||||
Subject: [PATCH] md5sum,sha*sum: fix --ignore-missing with checksums starting
|
|
||||||
with 00
|
|
||||||
|
|
||||||
* NEWS: Mention the fix.
|
|
||||||
* src/md5sum.c (digest_file): Add a new MISSING parameter to
|
|
||||||
return whether the file was missing, separately from the digest.
|
|
||||||
* tests/misc/md5sum.pl: Add a test case.
|
|
||||||
Fixes http://bugs.gnu.org/24795
|
|
||||||
|
|
||||||
Upstream-commit: d0ddfadfb27def2861f35b1a45190a4c1780b257
|
|
||||||
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
|
|
||||||
---
|
|
||||||
src/md5sum.c | 20 ++++++++++++--------
|
|
||||||
tests/misc/md5sum.pl | 7 +++++++
|
|
||||||
2 files changed, 19 insertions(+), 8 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/md5sum.c b/src/md5sum.c
|
|
||||||
index 933ec99..fee28c7 100644
|
|
||||||
--- a/src/md5sum.c
|
|
||||||
+++ b/src/md5sum.c
|
|
||||||
@@ -465,15 +465,19 @@ print_filename (char const *file, bool escape)
|
|
||||||
text because it was a terminal.
|
|
||||||
|
|
||||||
Put the checksum in *BIN_RESULT, which must be properly aligned.
|
|
||||||
+ Put true in *MISSING if the file can't be opened due to ENOENT.
|
|
||||||
Return true if successful. */
|
|
||||||
|
|
||||||
static bool
|
|
||||||
-digest_file (const char *filename, int *binary, unsigned char *bin_result)
|
|
||||||
+digest_file (const char *filename, int *binary, unsigned char *bin_result,
|
|
||||||
+ bool *missing)
|
|
||||||
{
|
|
||||||
FILE *fp;
|
|
||||||
int err;
|
|
||||||
bool is_stdin = STREQ (filename, "-");
|
|
||||||
|
|
||||||
+ *missing = false;
|
|
||||||
+
|
|
||||||
if (is_stdin)
|
|
||||||
{
|
|
||||||
have_read_stdin = true;
|
|
||||||
@@ -493,7 +497,7 @@ digest_file (const char *filename, int *binary, unsigned char *bin_result)
|
|
||||||
{
|
|
||||||
if (ignore_missing && errno == ENOENT)
|
|
||||||
{
|
|
||||||
- *bin_result = '\0';
|
|
||||||
+ *missing = true;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
error (0, errno, "%s", quotef (filename));
|
|
||||||
@@ -606,14 +610,14 @@ digest_check (const char *checkfile_name)
|
|
||||||
'8', '9', 'a', 'b',
|
|
||||||
'c', 'd', 'e', 'f' };
|
|
||||||
bool ok;
|
|
||||||
+ bool missing;
|
|
||||||
/* Only escape in the edge case producing multiple lines,
|
|
||||||
to ease automatic processing of status output. */
|
|
||||||
bool needs_escape = ! status_only && strchr (filename, '\n');
|
|
||||||
|
|
||||||
properly_formatted_lines = true;
|
|
||||||
|
|
||||||
- *bin_buffer = '\1'; /* flag set to 0 for ignored missing files. */
|
|
||||||
- ok = digest_file (filename, &binary, bin_buffer);
|
|
||||||
+ ok = digest_file (filename, &binary, bin_buffer, &missing);
|
|
||||||
|
|
||||||
if (!ok)
|
|
||||||
{
|
|
||||||
@@ -626,10 +630,9 @@ digest_check (const char *checkfile_name)
|
|
||||||
printf (": %s\n", _("FAILED open or read"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
- else if (ignore_missing && ! *bin_buffer)
|
|
||||||
+ else if (ignore_missing && missing)
|
|
||||||
{
|
|
||||||
- /* Treat an empty buffer as meaning a missing file,
|
|
||||||
- which is ignored with --ignore-missing. */
|
|
||||||
+ /* Ignore missing files with --ignore-missing. */
|
|
||||||
;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
@@ -879,8 +882,9 @@ main (int argc, char **argv)
|
|
||||||
else
|
|
||||||
{
|
|
||||||
int file_is_binary = binary;
|
|
||||||
+ bool missing;
|
|
||||||
|
|
||||||
- if (! digest_file (file, &file_is_binary, bin_buffer))
|
|
||||||
+ if (! digest_file (file, &file_is_binary, bin_buffer, &missing))
|
|
||||||
ok = false;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
diff --git a/tests/misc/md5sum.pl b/tests/misc/md5sum.pl
|
|
||||||
index 2eb6369..6ea7457 100755
|
|
||||||
--- a/tests/misc/md5sum.pl
|
|
||||||
+++ b/tests/misc/md5sum.pl
|
|
||||||
@@ -149,6 +149,13 @@ my @Tests =
|
|
||||||
{ERR=>
|
|
||||||
"md5sum: f.md5: no file was verified\n"},
|
|
||||||
{EXIT=> 1}],
|
|
||||||
+ # coreutils-8.25 with --ignore-missing treated checksums starting with 00
|
|
||||||
+ # as if the file was not present
|
|
||||||
+ ['check-ignore-missing-6', '--check', '--ignore-missing',
|
|
||||||
+ {AUX=> {f=> '9t'}},
|
|
||||||
+ {IN=> {'f.md5' =>
|
|
||||||
+ "006999e6df389641adf1fa3a74801d9d f\n"}},
|
|
||||||
+ {OUT=>"f: OK\n"}],
|
|
||||||
['bsd-segv', '--check', {IN=> {'z' => "MD5 ("}}, {EXIT=> 1},
|
|
||||||
{ERR=> "$prog: z: no properly formatted MD5 checksum lines found\n"}],
|
|
||||||
|
|
||||||
--
|
|
||||||
2.7.4
|
|
||||||
|
|
17
coreutils-8.26.tar.xz.sig
Normal file
17
coreutils-8.26.tar.xz.sig
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
Version: GnuPG v1
|
||||||
|
|
||||||
|
iQIcBAABAgAGBQJYPyRpAAoJEN9v2XEwYDfZ0I4P/3oaPYXMPEOKuDDpEcLumn26
|
||||||
|
gYIMQc1jIMbBNQe120gQmNPkRr5dTKt5Bap9qYkCj0pI/6VxVIWDo0xrOLYZi7AN
|
||||||
|
Xgr0kX2qLDFEH+EHkC1BpsAdpsgwfvLmVWPHS62CNKgVDgGiP1cRJZe8oVmlBCiR
|
||||||
|
3ES7pUsBfDn3hbdKNTTmMDtro1rQMOxfHkVCZLAva+JjdzpE+KTvzZzKkVuZZfJ/
|
||||||
|
Mi/ZySrXZXFvPBS7GXgop4x8EodyzQMeKO+nvpIUEBY1yLQgCvni5/CBI8w/EViD
|
||||||
|
DSjj0zWsCQkEjx6HCohi8sBHUYZ+M3lB4rkFk7aevdioPZUGfLkW31LT/cUJC/VV
|
||||||
|
MIQKWzQtZO/WCJuyEbWP2m25c4MtnnhTm5yoi29yT/CoTRlUWkIQpXm4oD1cJXHy
|
||||||
|
PpHveu8qM0qRaAtVdXE3pmapIMYUV4g7vxSuCjZRrgiDLhp/K7Lzt5xBhl++kPU2
|
||||||
|
U9uc202eah4Towo0pbHsuEJT0vk0GGLq8/17dCa/ss8wV+86ZLxl0kZYy4CNEnIW
|
||||||
|
vsCN6CJ5AoAEVrMN1F7ZJYnH4hoJedvIczThnAkNTqYYE3wnN9stOe28Oy/a0/tg
|
||||||
|
bt5/Mn0JbmQei890uU8zcEdUjidHqGV4hKk1E2UC4UCyHG/VcHv9gfr8OaD/xPDr
|
||||||
|
SoauDCHpBU7J7FT/DX+k
|
||||||
|
=vkKy
|
||||||
|
-----END PGP SIGNATURE-----
|
@ -1,7 +1,8 @@
|
|||||||
diff -urNp coreutils-8.4-orig/doc/coreutils.texi coreutils-8.4/doc/coreutils.texi
|
diff --git a/doc/coreutils.texi b/doc/coreutils.texi
|
||||||
--- coreutils-8.4-orig/doc/coreutils.texi 2011-01-07 15:01:18.575654333 +0100
|
index 400e135..47e4480 100644
|
||||||
+++ coreutils-8.4/doc/coreutils.texi 2011-01-07 15:05:38.791655243 +0100
|
--- a/doc/coreutils.texi
|
||||||
@@ -9993,6 +9993,8 @@ incorrect. @xref{Directory Setuid and Setgid}, for how the
|
+++ b/doc/coreutils.texi
|
||||||
|
@@ -10074,6 +10074,8 @@ incorrect. @xref{Directory Setuid and Setgid}, for how the
|
||||||
set-user-ID and set-group-ID bits of directories are inherited unless
|
set-user-ID and set-group-ID bits of directories are inherited unless
|
||||||
overridden in this way.
|
overridden in this way.
|
||||||
|
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
diff -urNp coreutils-8.21-orig/doc/coreutils.texi coreutils-8.21/doc/coreutils.texi
|
diff --git a/doc/coreutils.texi b/doc/coreutils.texi
|
||||||
--- coreutils-8.21-orig/doc/coreutils.texi 2013-02-11 10:37:28.000000000 +0100
|
index a507280..400e135 100644
|
||||||
+++ coreutils-8.21/doc/coreutils.texi 2013-02-15 10:15:26.497593689 +0100
|
--- a/doc/coreutils.texi
|
||||||
@@ -11221,6 +11221,13 @@ some systems (notably SunOS), doing this yields more up to date results,
|
+++ b/doc/coreutils.texi
|
||||||
|
@@ -11303,6 +11303,13 @@ some systems (notably SunOS), doing this yields more up to date results,
|
||||||
but in general this option makes @command{df} much slower, especially when
|
but in general this option makes @command{df} much slower, especially when
|
||||||
there are many or very busy file systems.
|
there are many or very busy file systems.
|
||||||
|
|
||||||
@ -15,10 +16,11 @@ diff -urNp coreutils-8.21-orig/doc/coreutils.texi coreutils-8.21/doc/coreutils.t
|
|||||||
@item --total
|
@item --total
|
||||||
@opindex --total
|
@opindex --total
|
||||||
@cindex grand total of disk size, usage and available space
|
@cindex grand total of disk size, usage and available space
|
||||||
diff -urNp coreutils-8.21-orig/src/df.c coreutils-8.21/src/df.c
|
diff --git a/src/df.c b/src/df.c
|
||||||
--- coreutils-8.21-orig/src/df.c 2013-02-05 00:40:31.000000000 +0100
|
index 8f760db..a7385fd 100644
|
||||||
+++ coreutils-8.21/src/df.c 2013-02-15 10:26:41.158651782 +0100
|
--- a/src/df.c
|
||||||
@@ -116,6 +116,9 @@ static bool print_type;
|
+++ b/src/df.c
|
||||||
|
@@ -120,6 +120,9 @@ static bool print_type;
|
||||||
/* If true, print a grand total at the end. */
|
/* If true, print a grand total at the end. */
|
||||||
static bool print_grand_total;
|
static bool print_grand_total;
|
||||||
|
|
||||||
@ -28,7 +30,7 @@ diff -urNp coreutils-8.21-orig/src/df.c coreutils-8.21/src/df.c
|
|||||||
/* Grand total data. */
|
/* Grand total data. */
|
||||||
static struct fs_usage grand_fsu;
|
static struct fs_usage grand_fsu;
|
||||||
|
|
||||||
@@ -243,13 +246,15 @@ enum
|
@@ -247,13 +250,15 @@ enum
|
||||||
NO_SYNC_OPTION = CHAR_MAX + 1,
|
NO_SYNC_OPTION = CHAR_MAX + 1,
|
||||||
SYNC_OPTION,
|
SYNC_OPTION,
|
||||||
TOTAL_OPTION,
|
TOTAL_OPTION,
|
||||||
@ -45,7 +47,7 @@ diff -urNp coreutils-8.21-orig/src/df.c coreutils-8.21/src/df.c
|
|||||||
{"inodes", no_argument, NULL, 'i'},
|
{"inodes", no_argument, NULL, 'i'},
|
||||||
{"human-readable", no_argument, NULL, 'h'},
|
{"human-readable", no_argument, NULL, 'h'},
|
||||||
{"si", no_argument, NULL, 'H'},
|
{"si", no_argument, NULL, 'H'},
|
||||||
@@ -505,7 +510,10 @@ get_header (void)
|
@@ -509,7 +514,10 @@ get_header (void)
|
||||||
for (col = 0; col < ncolumns; col++)
|
for (col = 0; col < ncolumns; col++)
|
||||||
{
|
{
|
||||||
char *cell = NULL;
|
char *cell = NULL;
|
||||||
@ -57,7 +59,7 @@ diff -urNp coreutils-8.21-orig/src/df.c coreutils-8.21/src/df.c
|
|||||||
|
|
||||||
if (columns[col]->field == SIZE_FIELD
|
if (columns[col]->field == SIZE_FIELD
|
||||||
&& (header_mode == DEFAULT_MODE
|
&& (header_mode == DEFAULT_MODE
|
||||||
@@ -1352,6 +1360,19 @@ get_point (const char *point, const struct stat *statp)
|
@@ -1397,6 +1405,19 @@ get_point (const char *point, const struct stat *statp)
|
||||||
static void
|
static void
|
||||||
get_entry (char const *name, struct stat const *statp)
|
get_entry (char const *name, struct stat const *statp)
|
||||||
{
|
{
|
||||||
@ -77,7 +79,7 @@ diff -urNp coreutils-8.21-orig/src/df.c coreutils-8.21/src/df.c
|
|||||||
if ((S_ISBLK (statp->st_mode) || S_ISCHR (statp->st_mode))
|
if ((S_ISBLK (statp->st_mode) || S_ISCHR (statp->st_mode))
|
||||||
&& get_disk (name))
|
&& get_disk (name))
|
||||||
return;
|
return;
|
||||||
@@ -1422,6 +1443,7 @@ or all file systems by default.\n\
|
@@ -1467,6 +1488,7 @@ or all file systems by default.\n\
|
||||||
-B, --block-size=SIZE scale sizes by SIZE before printing them; e.g.,\n\
|
-B, --block-size=SIZE scale sizes by SIZE before printing them; e.g.,\n\
|
||||||
'-BM' prints sizes in units of 1,048,576 bytes;\n\
|
'-BM' prints sizes in units of 1,048,576 bytes;\n\
|
||||||
see SIZE format below\n\
|
see SIZE format below\n\
|
||||||
@ -85,7 +87,7 @@ diff -urNp coreutils-8.21-orig/src/df.c coreutils-8.21/src/df.c
|
|||||||
-h, --human-readable print sizes in powers of 1024 (e.g., 1023M)\n\
|
-h, --human-readable print sizes in powers of 1024 (e.g., 1023M)\n\
|
||||||
-H, --si print sizes in powers of 1000 (e.g., 1.1G)\n\
|
-H, --si print sizes in powers of 1000 (e.g., 1.1G)\n\
|
||||||
"), stdout);
|
"), stdout);
|
||||||
@@ -1512,6 +1534,9 @@ main (int argc, char **argv)
|
@@ -1557,6 +1579,9 @@ main (int argc, char **argv)
|
||||||
xstrtol_fatal (e, oi, c, long_options, optarg);
|
xstrtol_fatal (e, oi, c, long_options, optarg);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -95,7 +97,7 @@ diff -urNp coreutils-8.21-orig/src/df.c coreutils-8.21/src/df.c
|
|||||||
case 'i':
|
case 'i':
|
||||||
if (header_mode == OUTPUT_MODE)
|
if (header_mode == OUTPUT_MODE)
|
||||||
{
|
{
|
||||||
@@ -1608,6 +1633,13 @@ main (int argc, char **argv)
|
@@ -1653,6 +1678,13 @@ main (int argc, char **argv)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -109,9 +111,11 @@ diff -urNp coreutils-8.21-orig/src/df.c coreutils-8.21/src/df.c
|
|||||||
if (human_output_opts == -1)
|
if (human_output_opts == -1)
|
||||||
{
|
{
|
||||||
if (posix_format)
|
if (posix_format)
|
||||||
diff -urNp coreutils-8.21-orig/tests/df/direct.sh coreutils-8.21/tests/df/direct.sh
|
diff --git a/tests/df/direct.sh b/tests/df/direct.sh
|
||||||
--- coreutils-8.21-orig/tests/df/direct.sh 1970-01-01 01:00:00.000000000 +0100
|
new file mode 100644
|
||||||
+++ coreutils-8.21/tests/df/direct.sh 2013-02-15 10:15:26.503644446 +0100
|
index 0000000..8e4cfb8
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/df/direct.sh
|
||||||
@@ -0,0 +1,55 @@
|
@@ -0,0 +1,55 @@
|
||||||
+#!/bin/sh
|
+#!/bin/sh
|
||||||
+# Ensure "df --direct" works as documented
|
+# Ensure "df --direct" works as documented
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
diff -urNp coreutils-8.25-orig/src/cut.c coreutils-8.25/src/cut.c
|
diff --git a/src/cut.c b/src/cut.c
|
||||||
--- coreutils-8.25-orig/src/cut.c 2015-06-26 19:05:22.000000000 +0200
|
index 7ab6be4..022d0ad 100644
|
||||||
+++ coreutils-8.25/src/cut.c 2015-07-05 09:04:33.028546950 +0200
|
--- a/src/cut.c
|
||||||
|
+++ b/src/cut.c
|
||||||
@@ -28,6 +28,11 @@
|
@@ -28,6 +28,11 @@
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,60 +1,28 @@
|
|||||||
From lkundrak@v3.sk Thu Jan 28 20:57:48 2016
|
From 02424bfcd719bbaa695f4e1c3ef17ad91b0d23c0 Mon Sep 17 00:00:00 2001
|
||||||
Return-Path: lkundrak@v3.sk
|
|
||||||
Received: from zimbra.v3.sk (LHLO zimbra.v3.sk) (10.13.37.31) by
|
|
||||||
zimbra.v3.sk with LMTP; Thu, 28 Jan 2016 20:57:48 +0100 (CET)
|
|
||||||
Received: from localhost (localhost [127.0.0.1]) by zimbra.v3.sk (Postfix)
|
|
||||||
with ESMTP id D4DD260F92 for <lkundrak@v3.sk>; Thu, 28 Jan 2016 20:57:47
|
|
||||||
+0100 (CET)
|
|
||||||
X-Spam-Flag: NO
|
|
||||||
X-Spam-Score: -2.9
|
|
||||||
X-Spam-Level:
|
|
||||||
X-Spam-Status: No, score=-2.9 tagged_above=-10 required=3
|
|
||||||
tests=[ALL_TRUSTED=-1, BAYES_00=-1.9] autolearn=ham autolearn_force=no
|
|
||||||
Received: from shell.v3.sk ([127.0.0.1]) by localhost (zimbra.v3.sk
|
|
||||||
[127.0.0.1]) (amavisd-new, port 10032) with ESMTP id HB5H5ynfOcyL; Thu, 28
|
|
||||||
Jan 2016 20:57:45 +0100 (CET)
|
|
||||||
Received: from localhost (localhost [127.0.0.1]) by zimbra.v3.sk (Postfix)
|
|
||||||
with ESMTP id 3FEF160F90; Thu, 28 Jan 2016 20:57:45 +0100 (CET)
|
|
||||||
X-Virus-Scanned: amavisd-new at zimbra.v3.sk
|
|
||||||
Received: from shell.v3.sk ([127.0.0.1]) by localhost (zimbra.v3.sk
|
|
||||||
[127.0.0.1]) (amavisd-new, port 10026) with ESMTP id TUF9p5l6r9SN; Thu, 28
|
|
||||||
Jan 2016 20:57:44 +0100 (CET)
|
|
||||||
Received: from odvarok.localdomain (s559633cb.adsl.online.nl
|
|
||||||
[85.150.51.203]) by zimbra.v3.sk (Postfix) with ESMTPSA id 6763560F8F; Thu,
|
|
||||||
28 Jan 2016 20:57:44 +0100 (CET)
|
|
||||||
From: Lubomir Rintel <lkundrak@v3.sk>
|
From: Lubomir Rintel <lkundrak@v3.sk>
|
||||||
To: =?UTF-8?q?Ond=C5=99ej=20Va=C5=A1=C3=ADk?= <ovasik@redhat.com>, Ondrej
|
|
||||||
Oprala <ooprala@redhat.com>
|
|
||||||
Cc: Lubomir Rintel <lkundrak@v3.sk>
|
|
||||||
Subject: [PATCH] unexpand: fix blank line handling
|
|
||||||
Date: Thu, 28 Jan 2016 20:57:22 +0100
|
Date: Thu, 28 Jan 2016 20:57:22 +0100
|
||||||
Message-Id: <1454011042-30492-1-git-send-email-lkundrak@v3.sk>
|
Subject: [PATCH] unexpand: fix blank line handling
|
||||||
X-Mailer: git-send-email 2.5.0
|
|
||||||
X-Evolution-Source: 1409576065.5421.4@dhcp-24-163.brq.redhat.com
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
Mime-Version: 1.0
|
|
||||||
|
|
||||||
echo '' |./src/unexpand -a
|
echo '' |./src/unexpand -a
|
||||||
|
|
||||||
Really?
|
Really?
|
||||||
---
|
---
|
||||||
src/unexpand.c | 2 +-
|
src/unexpand.c | 2 +-
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/src/unexpand.c b/src/unexpand.c
|
diff --git a/src/unexpand.c b/src/unexpand.c
|
||||||
index d6ff662..762c56b 100644
|
index 569a7ee..3bbbd66 100644
|
||||||
--- a/src/unexpand.c
|
--- a/src/unexpand.c
|
||||||
+++ b/src/unexpand.c
|
+++ b/src/unexpand.c
|
||||||
@@ -304,7 +304,7 @@ unexpand (void)
|
@@ -233,7 +233,7 @@ unexpand (void)
|
||||||
next_tab_column = column;
|
next_tab_column = column;
|
||||||
tab_index -= !!tab_index;
|
tab_index -= !!tab_index;
|
||||||
}
|
}
|
||||||
- else
|
- else
|
||||||
+ else if (!mb_iseq (c, '\n'))
|
+ else if (!mb_iseq (c, '\n'))
|
||||||
{
|
{
|
||||||
column += mb_width (c);
|
column += mb_width (c);
|
||||||
if (!column)
|
if (!column)
|
||||||
--
|
--
|
||||||
2.5.0
|
2.7.4
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
diff -up ./src/expand.c.orig ./src/expand.c
|
diff --git a/src/expand.c b/src/expand.c
|
||||||
--- ./src/expand.c.orig 2016-06-01 12:42:49.330373488 +0200
|
index 380e020..310b349 100644
|
||||||
+++ ./src/expand.c 2016-06-07 14:35:16.011142041 +0200
|
--- a/src/expand.c
|
||||||
@@ -173,15 +173,19 @@ expand (void)
|
+++ b/src/expand.c
|
||||||
|
@@ -129,15 +129,19 @@ expand (void)
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
@ -25,10 +26,11 @@ diff -up ./src/expand.c.orig ./src/expand.c
|
|||||||
|
|
||||||
if (convert)
|
if (convert)
|
||||||
{
|
{
|
||||||
diff -up ./src/unexpand.c.orig ./src/unexpand.c
|
diff --git a/src/unexpand.c b/src/unexpand.c
|
||||||
--- ./src/unexpand.c.orig 2016-06-07 14:26:57.380746446 +0200
|
index 3bbbd66..863a90a 100644
|
||||||
+++ ./src/unexpand.c 2016-06-07 14:34:54.059256698 +0200
|
--- a/src/unexpand.c
|
||||||
@@ -220,15 +220,19 @@ unexpand (void)
|
+++ b/src/unexpand.c
|
||||||
|
@@ -164,15 +164,19 @@ unexpand (void)
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
@ -52,9 +54,10 @@ diff -up ./src/unexpand.c.orig ./src/unexpand.c
|
|||||||
|
|
||||||
if (convert)
|
if (convert)
|
||||||
{
|
{
|
||||||
diff -up ./tests/expand/mb.sh.orig ./tests/expand/mb.sh
|
diff --git a/tests/expand/mb.sh b/tests/expand/mb.sh
|
||||||
--- ./tests/expand/mb.sh.orig 2016-05-11 14:13:53.095289000 +0200
|
index 7971e18..031be7a 100755
|
||||||
+++ ./tests/expand/mb.sh 2016-06-07 14:38:48.259033445 +0200
|
--- a/tests/expand/mb.sh
|
||||||
|
+++ b/tests/expand/mb.sh
|
||||||
@@ -44,6 +44,20 @@ EOF
|
@@ -44,6 +44,20 @@ EOF
|
||||||
expand < in > out || fail=1
|
expand < in > out || fail=1
|
||||||
compare exp out > /dev/null 2>&1 || fail=1
|
compare exp out > /dev/null 2>&1 || fail=1
|
||||||
@ -76,9 +79,10 @@ diff -up ./tests/expand/mb.sh.orig ./tests/expand/mb.sh
|
|||||||
#test characters with display widths != 1
|
#test characters with display widths != 1
|
||||||
env printf '12345678
|
env printf '12345678
|
||||||
e\t|ascii(1)
|
e\t|ascii(1)
|
||||||
diff -up ./tests/unexpand/mb.sh.orig ./tests/unexpand/mb.sh
|
diff --git a/tests/unexpand/mb.sh b/tests/unexpand/mb.sh
|
||||||
--- ./tests/unexpand/mb.sh.orig 2016-06-07 14:41:44.210106466 +0200
|
index 60d4c1a..8d75652 100755
|
||||||
+++ ./tests/unexpand/mb.sh 2016-06-07 14:52:28.848639772 +0200
|
--- a/tests/unexpand/mb.sh
|
||||||
|
+++ b/tests/unexpand/mb.sh
|
||||||
@@ -44,6 +44,22 @@ EOF
|
@@ -44,6 +44,22 @@ EOF
|
||||||
unexpand -a < in > out || fail=1
|
unexpand -a < in > out || fail=1
|
||||||
compare exp out > /dev/null 2>&1 || fail=1
|
compare exp out > /dev/null 2>&1 || fail=1
|
||||||
|
@ -14,7 +14,7 @@ diff --git a/src/sort.c b/src/sort.c
|
|||||||
index 9e07ad8..e47b039 100644
|
index 9e07ad8..e47b039 100644
|
||||||
--- a/src/sort.c
|
--- a/src/sort.c
|
||||||
+++ b/src/sort.c
|
+++ b/src/sort.c
|
||||||
@@ -2274,12 +2274,10 @@ find_unit_order (char const *number)
|
@@ -2304,12 +2304,10 @@ find_unit_order (char const *number)
|
||||||
<none/unknown> < K/k < M < G < T < P < E < Z < Y */
|
<none/unknown> < K/k < M < G < T < P < E < Z < Y */
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -1,19 +1,20 @@
|
|||||||
diff -up ./src/expand-core.c.orig ./src/expand-core.c
|
diff --git a/src/expand-common.c b/src/expand-common.c
|
||||||
--- ./src/expand-core.c.orig 2016-06-28 14:44:18.281619000 +0200
|
index 4657e46..97cbb09 100644
|
||||||
+++ ./src/expand-core.c 2016-06-30 11:46:50.025109755 +0200
|
--- a/src/expand-common.c
|
||||||
|
+++ b/src/expand-common.c
|
||||||
@@ -18,6 +18,7 @@
|
@@ -18,6 +18,7 @@
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
+#include <mbfile.h>
|
+#include <mbfile.h>
|
||||||
|
|
||||||
#include "system.h"
|
#include "system.h"
|
||||||
|
#include "die.h"
|
||||||
#include "error.h"
|
#include "error.h"
|
||||||
@@ -27,6 +28,119 @@
|
@@ -85,6 +86,119 @@ add_tab_stop (uintmax_t tabval)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#include "expand-core.h"
|
+extern int
|
||||||
|
|
||||||
+extern inline int
|
|
||||||
+set_utf_locale (void)
|
+set_utf_locale (void)
|
||||||
+{
|
+{
|
||||||
+ /*try using some predefined locale */
|
+ /*try using some predefined locale */
|
||||||
@ -118,7 +119,7 @@ diff -up ./src/expand-core.c.orig ./src/expand-core.c
|
|||||||
+ return false;
|
+ return false;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+extern inline void
|
+extern void
|
||||||
+print_bom(void)
|
+print_bom(void)
|
||||||
+{
|
+{
|
||||||
+ putc (0xEF, stdout);
|
+ putc (0xEF, stdout);
|
||||||
@ -128,42 +129,35 @@ diff -up ./src/expand-core.c.orig ./src/expand-core.c
|
|||||||
+
|
+
|
||||||
/* Add the comma or blank separated list of tab stops STOPS
|
/* Add the comma or blank separated list of tab stops STOPS
|
||||||
to the list of tab stops. */
|
to the list of tab stops. */
|
||||||
|
extern void
|
||||||
|
diff --git a/src/expand-common.h b/src/expand-common.h
|
||||||
|
index 8cb2079..763bfda 100644
|
||||||
|
--- a/src/expand-common.h
|
||||||
|
+++ b/src/expand-common.h
|
||||||
|
@@ -34,6 +34,18 @@ extern size_t max_column_width;
|
||||||
|
/* The desired exit status. */
|
||||||
|
extern int exit_status;
|
||||||
|
|
||||||
diff -up ./src/expand-core.h.orig ./src/expand-core.h
|
+extern int
|
||||||
--- ./src/expand-core.h.orig 2016-06-28 14:44:18.281619000 +0200
|
|
||||||
+++ ./src/expand-core.h 2016-06-30 11:47:18.929437205 +0200
|
|
||||||
@@ -15,7 +15,7 @@
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
#ifndef EXPAND_CORE_H_
|
|
||||||
-# define EXPAND_CORE_H_
|
|
||||||
+#define EXPAND_CORE_H_
|
|
||||||
|
|
||||||
extern size_t first_free_tab;
|
|
||||||
|
|
||||||
@@ -29,6 +29,18 @@ extern char **file_list;
|
|
||||||
|
|
||||||
extern bool have_read_stdin;
|
|
||||||
|
|
||||||
+inline int
|
|
||||||
+set_utf_locale (void);
|
+set_utf_locale (void);
|
||||||
+
|
+
|
||||||
+bool
|
+extern bool
|
||||||
+check_utf_locale(void);
|
+check_utf_locale(void);
|
||||||
+
|
+
|
||||||
+bool
|
+extern bool
|
||||||
+check_bom(FILE* fp, mb_file_t *mbf);
|
+check_bom(FILE* fp, mb_file_t *mbf);
|
||||||
+
|
+
|
||||||
+inline void
|
+extern void
|
||||||
+print_bom(void);
|
+print_bom(void);
|
||||||
+
|
+
|
||||||
void
|
/* Add tab stop TABVAL to the end of 'tab_list'. */
|
||||||
parse_tab_stops (char const *stops, void (*add_tab_stop)(uintmax_t));
|
extern void
|
||||||
|
add_tab_stop (uintmax_t tabval);
|
||||||
diff -up ./src/expand.c.orig ./src/expand.c
|
diff --git a/src/expand.c b/src/expand.c
|
||||||
--- ./src/expand.c.orig 2016-06-28 14:44:18.286619000 +0200
|
index 310b349..4136824 100644
|
||||||
+++ ./src/expand.c 2016-06-30 11:50:15.077312947 +0200
|
--- a/src/expand.c
|
||||||
@@ -149,11 +149,33 @@ expand (void)
|
+++ b/src/expand.c
|
||||||
|
@@ -105,11 +105,33 @@ expand (void)
|
||||||
FILE *fp = next_file (NULL);
|
FILE *fp = next_file (NULL);
|
||||||
mb_file_t mbf;
|
mb_file_t mbf;
|
||||||
mbf_char_t c;
|
mbf_char_t c;
|
||||||
@ -199,7 +193,7 @@ diff -up ./src/expand.c.orig ./src/expand.c
|
|||||||
|
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
@@ -178,6 +200,27 @@ expand (void)
|
@@ -134,6 +156,27 @@ expand (void)
|
||||||
if ((mb_iseof (c)) && (fp = next_file (fp)))
|
if ((mb_iseof (c)) && (fp = next_file (fp)))
|
||||||
{
|
{
|
||||||
mbf_init (mbf, fp);
|
mbf_init (mbf, fp);
|
||||||
@ -227,10 +221,11 @@ diff -up ./src/expand.c.orig ./src/expand.c
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
diff -up ./src/unexpand.c.orig ./src/unexpand.c
|
diff --git a/src/unexpand.c b/src/unexpand.c
|
||||||
--- ./src/unexpand.c.orig 2016-06-28 17:39:22.894259000 +0200
|
index 863a90a..5681b58 100644
|
||||||
+++ ./src/unexpand.c 2016-07-07 09:48:07.659924755 +0200
|
--- a/src/unexpand.c
|
||||||
@@ -172,16 +172,36 @@ unexpand (void)
|
+++ b/src/unexpand.c
|
||||||
|
@@ -116,16 +116,36 @@ unexpand (void)
|
||||||
include characters other than spaces, so the blanks must be
|
include characters other than spaces, so the blanks must be
|
||||||
stored, not merely counted. */
|
stored, not merely counted. */
|
||||||
mbf_char_t *pending_blank;
|
mbf_char_t *pending_blank;
|
||||||
@ -268,7 +263,7 @@ diff -up ./src/unexpand.c.orig ./src/unexpand.c
|
|||||||
|
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
@@ -225,6 +245,27 @@ unexpand (void)
|
@@ -169,6 +189,27 @@ unexpand (void)
|
||||||
if ((mb_iseof (c)) && (fp = next_file (fp)))
|
if ((mb_iseof (c)) && (fp = next_file (fp)))
|
||||||
{
|
{
|
||||||
mbf_init (mbf, fp);
|
mbf_init (mbf, fp);
|
||||||
@ -296,10 +291,11 @@ diff -up ./src/unexpand.c.orig ./src/unexpand.c
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
diff -up ./tests/expand/mb.sh.orig ./tests/expand/mb.sh
|
diff --git a/tests/expand/mb.sh b/tests/expand/mb.sh
|
||||||
--- ./tests/expand/mb.sh.orig 2016-06-28 14:44:18.287619000 +0200
|
index 031be7a..1621c84 100755
|
||||||
+++ ./tests/expand/mb.sh 2016-06-30 11:57:10.038407216 +0200
|
--- a/tests/expand/mb.sh
|
||||||
@@ -109,4 +109,75 @@ äbcdef\xFF |
|
+++ b/tests/expand/mb.sh
|
||||||
|
@@ -109,4 +109,75 @@ env printf '12345678
|
||||||
expand < in > out || fail=1
|
expand < in > out || fail=1
|
||||||
compare exp out > /dev/null 2>&1 || fail=1
|
compare exp out > /dev/null 2>&1 || fail=1
|
||||||
|
|
||||||
@ -375,10 +371,11 @@ diff -up ./tests/expand/mb.sh.orig ./tests/expand/mb.sh
|
|||||||
+compare exp out > /dev/null 2>&1 || fail=1
|
+compare exp out > /dev/null 2>&1 || fail=1
|
||||||
+
|
+
|
||||||
exit $fail
|
exit $fail
|
||||||
diff -up ./tests/unexpand/mb.sh.orig ./tests/unexpand/mb.sh
|
diff --git a/tests/unexpand/mb.sh b/tests/unexpand/mb.sh
|
||||||
--- ./tests/unexpand/mb.sh.orig 2016-06-28 17:39:22.895259000 +0200
|
index 8d75652..9d4ee3e 100755
|
||||||
+++ ./tests/unexpand/mb.sh 2016-07-07 09:55:00.098281917 +0200
|
--- a/tests/unexpand/mb.sh
|
||||||
@@ -111,3 +111,62 @@ äbcdef\xFF\t|
|
+++ b/tests/unexpand/mb.sh
|
||||||
|
@@ -111,3 +111,62 @@ env printf '12345678
|
||||||
|
|
||||||
unexpand -a < in > out || fail=1
|
unexpand -a < in > out || fail=1
|
||||||
compare exp out > /dev/null 2>&1 || fail=1
|
compare exp out > /dev/null 2>&1 || fail=1
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,8 @@
|
|||||||
--- coreutils-5.2.1/src/who.c.overflow 2005-05-25 09:59:06.000000000 +0100
|
diff --git a/src/who.c b/src/who.c
|
||||||
+++ coreutils-5.2.1/src/who.c 2005-05-25 10:00:31.000000000 +0100
|
index 55733b4..3ad4774 100644
|
||||||
@@ -79,7 +79,7 @@
|
--- a/src/who.c
|
||||||
|
+++ b/src/who.c
|
||||||
|
@@ -81,7 +81,7 @@
|
||||||
# define UT_TYPE_NEW_TIME(U) false
|
# define UT_TYPE_NEW_TIME(U) false
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1,15 +1,17 @@
|
|||||||
diff -urNp coreutils-8.21-orig/man/chcon.x coreutils-8.21/man/chcon.x
|
diff --git a/man/chcon.x b/man/chcon.x
|
||||||
--- coreutils-8.21-orig/man/chcon.x 2011-08-23 15:44:01.000000000 +0200
|
index 8c1ff6f..c84fb96 100644
|
||||||
+++ coreutils-8.21/man/chcon.x 2013-02-15 14:31:58.937482694 +0100
|
--- a/man/chcon.x
|
||||||
|
+++ b/man/chcon.x
|
||||||
@@ -1,4 +1,4 @@
|
@@ -1,4 +1,4 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
-chcon \- change file security context
|
-chcon \- change file security context
|
||||||
+chcon \- change file SELinux security context
|
+chcon \- change file SELinux security context
|
||||||
[DESCRIPTION]
|
[DESCRIPTION]
|
||||||
.\" Add any additional description here
|
.\" Add any additional description here
|
||||||
diff -urNp coreutils-8.21-orig/man/runcon.x coreutils-8.21/man/runcon.x
|
diff --git a/man/runcon.x b/man/runcon.x
|
||||||
--- coreutils-8.21-orig/man/runcon.x 2011-08-23 15:44:01.000000000 +0200
|
index d2df13e..5c5f5d8 100644
|
||||||
+++ coreutils-8.21/man/runcon.x 2013-02-15 14:31:58.938486496 +0100
|
--- a/man/runcon.x
|
||||||
|
+++ b/man/runcon.x
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
[NAME]
|
[NAME]
|
||||||
-runcon \- run command with specified security context
|
-runcon \- run command with specified security context
|
||||||
@ -17,10 +19,11 @@ diff -urNp coreutils-8.21-orig/man/runcon.x coreutils-8.21/man/runcon.x
|
|||||||
[DESCRIPTION]
|
[DESCRIPTION]
|
||||||
Run COMMAND with completely-specified CONTEXT, or with current or
|
Run COMMAND with completely-specified CONTEXT, or with current or
|
||||||
transitioned security context modified by one or more of LEVEL,
|
transitioned security context modified by one or more of LEVEL,
|
||||||
diff -urNp coreutils-8.21-orig/src/cp.c coreutils-8.21/src/cp.c
|
diff --git a/src/cp.c b/src/cp.c
|
||||||
--- coreutils-8.21-orig/src/cp.c 2013-02-07 10:37:05.000000000 +0100
|
index 1b528c6..25dbb88 100644
|
||||||
+++ coreutils-8.21/src/cp.c 2013-02-15 14:31:58.945468929 +0100
|
--- a/src/cp.c
|
||||||
@@ -202,6 +202,9 @@ Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n\
|
+++ b/src/cp.c
|
||||||
|
@@ -203,6 +203,9 @@ Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n\
|
||||||
all\n\
|
all\n\
|
||||||
"), stdout);
|
"), stdout);
|
||||||
fputs (_("\
|
fputs (_("\
|
||||||
@ -30,16 +33,16 @@ diff -urNp coreutils-8.21-orig/src/cp.c coreutils-8.21/src/cp.c
|
|||||||
--no-preserve=ATTR_LIST don't preserve the specified attributes\n\
|
--no-preserve=ATTR_LIST don't preserve the specified attributes\n\
|
||||||
--parents use full source file name under DIRECTORY\n\
|
--parents use full source file name under DIRECTORY\n\
|
||||||
"), stdout);
|
"), stdout);
|
||||||
@@ -943,7 +946,7 @@ main (int argc, char **argv)
|
@@ -929,7 +932,7 @@ main (int argc, char **argv)
|
||||||
we'll actually use backup_suffix_string. */
|
selinux_enabled = (0 < is_selinux_enabled ());
|
||||||
backup_suffix_string = getenv ("SIMPLE_BACKUP_SUFFIX");
|
cp_option_init (&x);
|
||||||
|
|
||||||
- while ((c = getopt_long (argc, argv, "abdfHilLnprst:uvxPRS:TZ",
|
- while ((c = getopt_long (argc, argv, "abdfHilLnprst:uvxPRS:TZ",
|
||||||
+ while ((c = getopt_long (argc, argv, "abcdfHilLnprst:uvxPRS:TZ",
|
+ while ((c = getopt_long (argc, argv, "abcdfHilLnprst:uvxPRS:TZ",
|
||||||
long_opts, NULL))
|
long_opts, NULL))
|
||||||
!= -1)
|
!= -1)
|
||||||
{
|
{
|
||||||
@@ -991,6 +994,17 @@ main (int argc, char **argv)
|
@@ -977,6 +980,17 @@ main (int argc, char **argv)
|
||||||
copy_contents = true;
|
copy_contents = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -57,10 +60,11 @@ diff -urNp coreutils-8.21-orig/src/cp.c coreutils-8.21/src/cp.c
|
|||||||
case 'd':
|
case 'd':
|
||||||
x.preserve_links = true;
|
x.preserve_links = true;
|
||||||
x.dereference = DEREF_NEVER;
|
x.dereference = DEREF_NEVER;
|
||||||
diff -urNp coreutils-8.21-orig/src/id.c coreutils-8.21/src/id.c
|
diff --git a/src/id.c b/src/id.c
|
||||||
--- coreutils-8.21-orig/src/id.c 2013-01-31 01:46:24.000000000 +0100
|
index 05d98a5..d6eb002 100644
|
||||||
+++ coreutils-8.21/src/id.c 2013-02-15 14:31:58.946469154 +0100
|
--- a/src/id.c
|
||||||
@@ -113,7 +113,7 @@ int
|
+++ b/src/id.c
|
||||||
|
@@ -114,7 +114,7 @@ int
|
||||||
main (int argc, char **argv)
|
main (int argc, char **argv)
|
||||||
{
|
{
|
||||||
int optc;
|
int optc;
|
||||||
@ -69,28 +73,29 @@ diff -urNp coreutils-8.21-orig/src/id.c coreutils-8.21/src/id.c
|
|||||||
bool smack_enabled = is_smack_enabled ();
|
bool smack_enabled = is_smack_enabled ();
|
||||||
bool opt_zero = false;
|
bool opt_zero = false;
|
||||||
char *pw_name = NULL;
|
char *pw_name = NULL;
|
||||||
diff -urNp coreutils-8.21-orig/src/install.c coreutils-8.21/src/install.c
|
diff --git a/src/install.c b/src/install.c
|
||||||
--- coreutils-8.21-orig/src/install.c 2013-02-07 10:37:05.000000000 +0100
|
index d79d597..437889a 100644
|
||||||
+++ coreutils-8.21/src/install.c 2013-02-15 14:31:58.948469440 +0100
|
--- a/src/install.c
|
||||||
@@ -649,7 +649,7 @@ In the 4th form, create all components of the given DIRECTORY(ies).\n\
|
+++ b/src/install.c
|
||||||
|
@@ -673,7 +673,7 @@ In the 4th form, create all components of the given DIRECTORY(ies).\n\
|
||||||
-v, --verbose print the name of each directory as it is created\n\
|
-v, --verbose print the name of each directory as it is created\n\
|
||||||
"), stdout);
|
"), stdout);
|
||||||
fputs (_("\
|
fputs (_("\
|
||||||
- --preserve-context preserve SELinux security context\n\
|
- --preserve-context preserve SELinux security context\n\
|
||||||
+ -P, --preserve-context preserve SELinux security context (-P deprecated)\n\
|
+ -P, --preserve-context preserve SELinux security context (-P deprecated)\n\
|
||||||
-Z set SELinux security context of destination\n\
|
-Z set SELinux security context of destination\n\
|
||||||
file to default type\n\
|
file and each created directory to default type\n\
|
||||||
--context[=CTX] like -Z, or if CTX is specified then set the\n\
|
--context[=CTX] like -Z, or if CTX is specified then set the\n\
|
||||||
@@ -817,7 +817,7 @@ main (int argc, char **argv)
|
@@ -824,7 +824,7 @@ main (int argc, char **argv)
|
||||||
we'll actually use backup_suffix_string. */
|
dir_arg = false;
|
||||||
backup_suffix_string = getenv ("SIMPLE_BACKUP_SUFFIX");
|
umask (0);
|
||||||
|
|
||||||
- while ((optc = getopt_long (argc, argv, "bcCsDdg:m:o:pt:TvS:Z", long_options,
|
- while ((optc = getopt_long (argc, argv, "bcCsDdg:m:o:pt:TvS:Z", long_options,
|
||||||
+ while ((optc = getopt_long (argc, argv, "bcCsDdg:m:o:pPt:TvS:Z", long_options,
|
+ while ((optc = getopt_long (argc, argv, "bcCsDdg:m:o:pPt:TvS:Z", long_options,
|
||||||
NULL)) != -1)
|
NULL)) != -1)
|
||||||
{
|
{
|
||||||
switch (optc)
|
switch (optc)
|
||||||
@@ -878,6 +878,8 @@ main (int argc, char **argv)
|
@@ -885,6 +885,8 @@ main (int argc, char **argv)
|
||||||
no_target_directory = true;
|
no_target_directory = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -99,7 +104,7 @@ diff -urNp coreutils-8.21-orig/src/install.c coreutils-8.21/src/install.c
|
|||||||
case PRESERVE_CONTEXT_OPTION:
|
case PRESERVE_CONTEXT_OPTION:
|
||||||
if (! selinux_enabled)
|
if (! selinux_enabled)
|
||||||
{
|
{
|
||||||
@@ -885,6 +887,10 @@ main (int argc, char **argv)
|
@@ -892,6 +894,10 @@ main (int argc, char **argv)
|
||||||
"this kernel is not SELinux-enabled"));
|
"this kernel is not SELinux-enabled"));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
diff -urNp coreutils-6.10-orig/doc/coreutils.texi coreutils-6.10/doc/coreutils.texi
|
diff --git a/doc/coreutils.texi b/doc/coreutils.texi
|
||||||
--- coreutils-6.10-orig/doc/coreutils.texi 2008-04-07 17:52:11.000000000 +0200
|
index 47e4480..cff2ead 100644
|
||||||
+++ coreutils-6.10/doc/coreutils.texi 2008-04-07 18:01:43.000000000 +0200
|
--- a/doc/coreutils.texi
|
||||||
@@ -8002,6 +8002,11 @@ done
|
+++ b/doc/coreutils.texi
|
||||||
|
@@ -8083,6 +8083,11 @@ done
|
||||||
exit $fail
|
exit $fail
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
Summary: A set of basic GNU tools commonly used in shell scripts
|
Summary: A set of basic GNU tools commonly used in shell scripts
|
||||||
Name: coreutils
|
Name: coreutils
|
||||||
Version: 8.25
|
Version: 8.26
|
||||||
Release: 17%{?dist}
|
Release: 1%{?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/
|
||||||
Source0: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz
|
Source0: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz
|
||||||
Source2: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig
|
|
||||||
Source50: supported_utils
|
Source50: supported_utils
|
||||||
Source105: coreutils-colorls.sh
|
Source105: coreutils-colorls.sh
|
||||||
Source106: coreutils-colorls.csh
|
Source106: coreutils-colorls.csh
|
||||||
@ -17,15 +16,6 @@ Source10: coreutils-find-requires.sh
|
|||||||
%global __find_provides %{_rpmconfigdir}/find-provides
|
%global __find_provides %{_rpmconfigdir}/find-provides
|
||||||
%global __find_requires %{SOURCE10} %{_rpmconfigdir}/find-requires
|
%global __find_requires %{SOURCE10} %{_rpmconfigdir}/find-requires
|
||||||
|
|
||||||
# From upstream
|
|
||||||
Patch952: coreutils-8.25-intall-Z-selinux.patch
|
|
||||||
# fix 'sort -h -k' in locales that use blank as thousands separator (#1355780)
|
|
||||||
Patch953: coreutils-8.25-sort-thousands-sep.patch
|
|
||||||
# ls: allow interruption when reading slow directories (#1365933)
|
|
||||||
Patch954: coreutils-8.25-ls-signal.patch
|
|
||||||
# md5sum,sha*sum: fix --ignore-missing with checksums starting with 00
|
|
||||||
Patch955: coreutils-8.25-sum-ignore-missing.patch
|
|
||||||
|
|
||||||
# Our patches
|
# Our patches
|
||||||
#general patch to workaround koji build system issues
|
#general patch to workaround koji build system issues
|
||||||
Patch100: coreutils-6.10-configuration.patch
|
Patch100: coreutils-6.10-configuration.patch
|
||||||
@ -213,12 +203,6 @@ tee DIR_COLORS{,.256color,.lightbgcolor} <src/dircolors.hin >/dev/null
|
|||||||
#SELinux
|
#SELinux
|
||||||
%patch950 -p1 -b .selinux
|
%patch950 -p1 -b .selinux
|
||||||
%patch951 -p1 -b .selinuxman
|
%patch951 -p1 -b .selinuxman
|
||||||
%patch952 -p1
|
|
||||||
|
|
||||||
# upstream patches
|
|
||||||
%patch953 -p1
|
|
||||||
%patch954 -p1
|
|
||||||
%patch955 -p1
|
|
||||||
|
|
||||||
chmod a+x \
|
chmod a+x \
|
||||||
tests/df/direct.sh \
|
tests/df/direct.sh \
|
||||||
@ -348,6 +332,9 @@ fi
|
|||||||
%license COPYING
|
%license COPYING
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Dec 01 2016 Kamil Dudka <kdudka@redhat.com> - 8.26-1
|
||||||
|
- new upstream release 8.26
|
||||||
|
|
||||||
* Mon Oct 31 2016 Kamil Dudka <kdudka@redhat.com> - 8.25-17
|
* Mon Oct 31 2016 Kamil Dudka <kdudka@redhat.com> - 8.25-17
|
||||||
- md5sum,sha*sum: fix --ignore-missing with checksums starting with 00
|
- md5sum,sha*sum: fix --ignore-missing with checksums starting with 00
|
||||||
|
|
||||||
|
3
sources
3
sources
@ -1,2 +1 @@
|
|||||||
070e43ba7f618d747414ef56ab248a48 coreutils-8.25.tar.xz
|
d5aa2072f662d4118b9f4c63b94601a6 coreutils-8.26.tar.xz
|
||||||
eb5694f81fd88ccf16b68ed80935b10f coreutils-8.25.tar.xz.sig
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
%{_bindir}/arch
|
%{_bindir}/arch
|
||||||
|
%{_bindir}/b2sum
|
||||||
%{_bindir}/basename
|
%{_bindir}/basename
|
||||||
%{_bindir}/cat
|
%{_bindir}/cat
|
||||||
%{_bindir}/chgrp
|
%{_bindir}/chgrp
|
||||||
|
Loading…
Reference in New Issue
Block a user