forked from pool/coreutils
Accepting request 213255 from Base:System
* Update to 8.22. * Pull in two I18N fixes for cut and sort from Fedora. * Add new SELinux patch for cp from upstream. * Avoid some testsuite failures by adding 4 other patches. Supersedes https://build.opensuse.org/request/show/212842 OBS-URL: https://build.opensuse.org/request/show/213255 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/coreutils?expand=0&rev=99
This commit is contained in:
commit
45c42e96e5
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4b28dba154ded8117dc043125a7e0fae2e7b613a7d287c46e9faa6866a81d377
|
||||
size 102904
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:adaa44bdab3fa5eb352e80d8a31fdbf957b78653d0c2cd30d63e161444288e18
|
||||
size 5357988
|
3
coreutils-8.22.tar.xz
Normal file
3
coreutils-8.22.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5b3e94998152c017e6c75d56b9b994188eb71bf46d4038a642cb9141f6ff1212
|
||||
size 5335124
|
@ -16,8 +16,8 @@ independent executable (PIE). This is enforced via RPMLINT.
|
||||
|
||||
Index: src/local.mk
|
||||
===================================================================
|
||||
--- src/local.mk.orig
|
||||
+++ src/local.mk
|
||||
--- src/local.mk.orig 2013-12-04 15:48:30.000000000 +0100
|
||||
+++ src/local.mk 2014-01-09 01:26:38.363704044 +0100
|
||||
@@ -17,7 +17,7 @@
|
||||
## along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
@ -27,7 +27,7 @@ Index: src/local.mk
|
||||
|
||||
# The list of all programs (separated in different variables to express
|
||||
# the how and when they should be installed) is defined in this makefile
|
||||
@@ -266,6 +266,9 @@ src_factor_LDADD += $(LIB_GMP)
|
||||
@@ -271,6 +271,9 @@ src_factor_LDADD += $(LIB_GMP)
|
||||
# for getloadavg
|
||||
src_uptime_LDADD += $(GETLOADAVG_LIBS)
|
||||
|
||||
|
90
coreutils-copy-fix-selinux-existing-dirs.patch
Normal file
90
coreutils-copy-fix-selinux-existing-dirs.patch
Normal file
@ -0,0 +1,90 @@
|
||||
Upstream patch on top of 8.22:
|
||||
http://lists.gnu.org/archive/html/coreutils/2014-01/msg00012.html
|
||||
|
||||
Stripped down to the relevant part: NEWS and THANKS.in chunks removed.
|
||||
Original NEWS entry:
|
||||
|
||||
cp -a again sets the correct SELinux context for existing directories in
|
||||
the destination. Previously it set the context of an existing directory
|
||||
to that of its last copied descendent.
|
||||
[bug introduced in coreutils-8.22]
|
||||
|
||||
Originally reported for Fedora by Michal Trunecka in rh#1045122:
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1045122
|
||||
|
||||
______________________________________________________________________
|
||||
From f2f8b688b87b94ed3551f47f9a6422c873acf5d1 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
|
||||
Date: Sun, 5 Jan 2014 15:00:55 +0000
|
||||
Subject: [PATCH] copy: fix SELinux context preservation for existing
|
||||
directories
|
||||
|
||||
* src/copy.c (copy_internal): Use the global process context
|
||||
to set the context of existing directories before they're populated.
|
||||
This is more consistent with the new directory case, and fixes
|
||||
a bug for existing directories where we erroneously set the
|
||||
context to the last copied descendent, rather than to that of
|
||||
the source directory itself.
|
||||
* tests/cp/cp-a-selinux.sh: Add a test for this case.
|
||||
---
|
||||
src/copy.c | 13 ++++++++++++-
|
||||
tests/cp/cp-a-selinux.sh | 15 +++++++++++++++
|
||||
2 files changed, 27 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: src/copy.c
|
||||
===================================================================
|
||||
--- src/copy.c.orig 2013-12-05 01:59:36.000000000 +0100
|
||||
+++ src/copy.c 2014-01-09 02:47:33.108744454 +0100
|
||||
@@ -2408,6 +2408,17 @@ copy_internal (char const *src_name, cha
|
||||
else
|
||||
{
|
||||
omitted_permissions = 0;
|
||||
+
|
||||
+ /* For directories, the process global context could be reset for
|
||||
+ descendents, so use it to set the context for existing dirs here.
|
||||
+ This will also give earlier indication of failure to set ctx. */
|
||||
+ if (x->set_security_context || x->preserve_security_context)
|
||||
+ if (! set_file_security_ctx (dst_name, x->preserve_security_context,
|
||||
+ false, x))
|
||||
+ {
|
||||
+ if (x->require_preserve_context)
|
||||
+ goto un_backup;
|
||||
+ }
|
||||
}
|
||||
|
||||
/* Decide whether to copy the contents of the directory. */
|
||||
@@ -2598,7 +2609,7 @@ copy_internal (char const *src_name, cha
|
||||
|
||||
/* With -Z or --preserve=context, set the context for existing files.
|
||||
Note this is done already for copy_reg() for reasons described therein. */
|
||||
- if (!new_dst && !x->copy_as_regular
|
||||
+ if (!new_dst && !x->copy_as_regular && !S_ISDIR (src_mode)
|
||||
&& (x->set_security_context || x->preserve_security_context))
|
||||
{
|
||||
if (! set_file_security_ctx (dst_name, x->preserve_security_context,
|
||||
Index: tests/cp/cp-a-selinux.sh
|
||||
===================================================================
|
||||
--- tests/cp/cp-a-selinux.sh.orig 2013-12-04 15:48:30.000000000 +0100
|
||||
+++ tests/cp/cp-a-selinux.sh 2014-01-09 02:47:33.109744597 +0100
|
||||
@@ -41,6 +41,21 @@ test -s err && fail=1 #there must be n
|
||||
ls -Z e | grep $ctx || fail=1
|
||||
ls -Z f | grep $ctx || fail=1
|
||||
|
||||
+# Check handling of existing dirs which requires specific handling
|
||||
+# due to recursion, and was handled incorrectly in coreutils-8.22
|
||||
+mkdir -p backup/existing_dir/ || framework_failure_
|
||||
+ls -Zd backup/existing_dir | grep $ctx && framework_failure_
|
||||
+touch backup/existing_dir/file || framework_failure_
|
||||
+chcon $ctx backup/existing_dir/file || framework_failure_
|
||||
+# Set the dir context to ensure it is reset
|
||||
+mkdir -p --context="$ctx" restore/existing_dir || framework_failure_
|
||||
+# Set the permissions of the source to show they're reset too
|
||||
+chmod o+rw restore/existing_dir
|
||||
+# Copy and ensure existing directories updated
|
||||
+cp -a backup/. restore/
|
||||
+ls -Zd restore/existing_dir | grep $ctx &&
|
||||
+ { ls -lZd restore/existing_dir; fail=1; }
|
||||
+
|
||||
# Check restorecon (-Z) functionality for file and directory
|
||||
get_selinux_type() { ls -Zd "$1" | sed -n 's/.*:\(.*_t\):.*/\1/p'; }
|
||||
# Also make a dir with our known context
|
@ -1,37 +0,0 @@
|
||||
From: Bernhard Voelker <mail@bernhard-voelker.de>
|
||||
Date: Mon, 20 May 2013 00:03:20 +0200
|
||||
Subject: [PATCH] tests/nap.h: increase delay multiplier to avoid problems in
|
||||
VMs like OBS
|
||||
|
||||
The gnulib change http://git.sv.gnu.org/cgit/gnulib.git/commit/?id=5191133e
|
||||
(available upstreams with >= 8.22, applied to openSUSE's coreutils
|
||||
package with "coreutils-gnulib-tests-fix-nap-race.patch", decreased the
|
||||
probability of lost races to about a third, however such problems could
|
||||
still be observed in virtual machines like OBS.
|
||||
Increasing the factor from 1.125 to 3 seems to close the race window.
|
||||
|
||||
* tests/nap.h (nap): Change the multiplier for the delay from 1.125
|
||||
to 3.
|
||||
|
||||
---
|
||||
gnulib-tests/nap.h | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: gnulib-tests/nap.h
|
||||
===================================================================
|
||||
--- gnulib-tests/nap.h.orig
|
||||
+++ gnulib-tests/nap.h
|
||||
@@ -126,9 +126,11 @@ nap (void)
|
||||
|
||||
/* Multiply by 1.125 (rounding up), to avoid problems if the
|
||||
file system's clock is a bit slower than nanosleep's.
|
||||
+ OBS: use 3 as multiplier to avoid this race a bit better
|
||||
+ which is even more likely in VMs.
|
||||
Ceiling it at INT_MAX, though. */
|
||||
- int delta = (d >> 3) + ((d & 7) != 0);
|
||||
- d = delta < INT_MAX - d ? d + delta : INT_MAX;
|
||||
+ int d2 = 3 * d;
|
||||
+ d = d2 < INT_MAX ? d2 : INT_MAX;
|
||||
delay.tv_sec = d / 1000000000;
|
||||
delay.tv_nsec = d % 1000000000;
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,12 @@
|
||||
diff --git a/gnulib-tests/test-isnanl.h b/gnulib-tests/test-isnanl.h
|
||||
index 06e6a7c..2df10f8 100644
|
||||
--- a/gnulib-tests/test-isnanl.h
|
||||
+++ b/gnulib-tests/test-isnanl.h
|
||||
---
|
||||
gnulib-tests/test-isnanl.h | 9 +++++++++
|
||||
gnulib-tests/test-signbit.c | 10 ++++++++++
|
||||
2 files changed, 19 insertions(+)
|
||||
|
||||
Index: gnulib-tests/test-isnanl.h
|
||||
===================================================================
|
||||
--- gnulib-tests/test-isnanl.h.orig 2013-12-04 15:53:33.000000000 +0100
|
||||
+++ gnulib-tests/test-isnanl.h 2014-01-09 01:26:40.271972672 +0100
|
||||
@@ -51,6 +51,15 @@ main ()
|
||||
/* A bit pattern that is different from a Quiet NaN. With a bit of luck,
|
||||
it's a Signalling NaN. */
|
||||
@ -18,10 +23,10 @@ index 06e6a7c..2df10f8 100644
|
||||
memory_long_double m;
|
||||
m.value = NaNl ();
|
||||
# if LDBL_EXPBIT0_BIT > 0
|
||||
diff --git a/gnulib-tests/test-signbit.c b/gnulib-tests/test-signbit.c
|
||||
index e8ea097..7e24292 100644
|
||||
--- a/gnulib-tests/test-signbit.c
|
||||
+++ b/gnulib-tests/test-signbit.c
|
||||
Index: gnulib-tests/test-signbit.c
|
||||
===================================================================
|
||||
--- gnulib-tests/test-signbit.c.orig 2013-12-04 15:53:33.000000000 +0100
|
||||
+++ gnulib-tests/test-signbit.c 2014-01-09 01:26:40.271972672 +0100
|
||||
@@ -151,6 +151,16 @@ test_signbitl ()
|
||||
#define NWORDS \
|
||||
((sizeof (long double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -11,10 +11,14 @@ Test cases:
|
||||
|
||||
Andreas Gruenbacher <agruen@suse.de>
|
||||
|
||||
---
|
||||
src/chgrp.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: src/chgrp.c
|
||||
===================================================================
|
||||
--- src/chgrp.c.orig
|
||||
+++ src/chgrp.c
|
||||
--- src/chgrp.c.orig 2013-12-04 15:48:30.000000000 +0100
|
||||
+++ src/chgrp.c 2014-01-09 01:26:29.066362326 +0100
|
||||
@@ -88,7 +88,7 @@ parse_group (const char *name)
|
||||
{
|
||||
unsigned long int tmp;
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
doc/coreutils.texi | 38 +-------------------------------------
|
||||
1 file changed, 1 insertion(+), 37 deletions(-)
|
||||
|
||||
Index: doc/coreutils.texi
|
||||
===================================================================
|
||||
--- doc/coreutils.texi.orig
|
||||
+++ doc/coreutils.texi
|
||||
--- doc/coreutils.texi.orig 2013-12-13 03:43:10.000000000 +0100
|
||||
+++ doc/coreutils.texi 2014-01-09 01:25:54.832410969 +0100
|
||||
@@ -66,7 +66,6 @@
|
||||
* groups: (coreutils)groups invocation. Print group names a user is in.
|
||||
* head: (coreutils)head invocation. Output the first part of files.
|
||||
@ -19,7 +23,7 @@ Index: doc/coreutils.texi
|
||||
* SELinux context:: chcon runcon
|
||||
* Modified command invocation:: chroot env nice nohup stdbuf timeout
|
||||
* Process control:: kill
|
||||
@@ -419,7 +418,6 @@ System context
|
||||
@@ -417,7 +416,6 @@ System context
|
||||
* date invocation:: Print or set system date and time
|
||||
* nproc invocation:: Print the number of processors
|
||||
* uname invocation:: Print system information
|
||||
@ -27,7 +31,7 @@ Index: doc/coreutils.texi
|
||||
* hostid invocation:: Print numeric host identifier
|
||||
* uptime invocation:: Print system uptime and load
|
||||
|
||||
@@ -14626,7 +14624,6 @@ information.
|
||||
@@ -14852,7 +14850,6 @@ information.
|
||||
* arch invocation:: Print machine hardware name.
|
||||
* nproc invocation:: Print the number of processors.
|
||||
* uname invocation:: Print system information.
|
||||
@ -35,7 +39,7 @@ Index: doc/coreutils.texi
|
||||
* hostid invocation:: Print numeric host identifier.
|
||||
* uptime invocation:: Print system uptime and load.
|
||||
@end menu
|
||||
@@ -15448,15 +15445,6 @@ easily available, as is the case with Li
|
||||
@@ -15674,15 +15671,6 @@ easily available, as is the case with Li
|
||||
Print the machine hardware name (sometimes called the hardware class
|
||||
or hardware type).
|
||||
|
||||
@ -51,7 +55,7 @@ Index: doc/coreutils.texi
|
||||
@item -p
|
||||
@itemx --processor
|
||||
@opindex -p
|
||||
@@ -15510,30 +15498,6 @@ Print the kernel version.
|
||||
@@ -15736,30 +15724,6 @@ Print the kernel version.
|
||||
|
||||
@exitstatus
|
||||
|
||||
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
doc/coreutils.texi | 90 -----------------------------------------------------
|
||||
1 file changed, 90 deletions(-)
|
||||
|
||||
Index: doc/coreutils.texi
|
||||
===================================================================
|
||||
--- doc/coreutils.texi.orig
|
||||
+++ doc/coreutils.texi
|
||||
--- doc/coreutils.texi.orig 2014-01-09 01:25:54.832410969 +0100
|
||||
+++ doc/coreutils.texi 2014-01-09 01:26:25.779767542 +0100
|
||||
@@ -69,7 +69,6 @@
|
||||
* id: (coreutils)id invocation. Print user identity.
|
||||
* install: (coreutils)install invocation. Copy and change attributes.
|
||||
@ -18,7 +22,7 @@ Index: doc/coreutils.texi
|
||||
* Delaying:: sleep
|
||||
* Numeric operations:: factor seq
|
||||
* File permissions:: Access modes
|
||||
@@ -446,10 +444,6 @@ Modified command invocation
|
||||
@@ -444,10 +442,6 @@ Modified command invocation
|
||||
* stdbuf invocation:: Run a command with modified I/O buffering
|
||||
* timeout invocation:: Run a command with a time limit
|
||||
|
||||
@ -29,7 +33,7 @@ Index: doc/coreutils.texi
|
||||
Delaying
|
||||
|
||||
* sleep invocation:: Delay for a specified time
|
||||
@@ -16380,90 +16374,6 @@ the exit status of @var{command} otherwi
|
||||
@@ -16606,90 +16600,6 @@ the exit status of @var{command} otherwi
|
||||
@end display
|
||||
|
||||
|
||||
|
37
coreutils-skip-gnulib-test-tls.patch
Normal file
37
coreutils-skip-gnulib-test-tls.patch
Normal file
@ -0,0 +1,37 @@
|
||||
Subject: Skip the gnulib test 'test-tls' on some platforms
|
||||
|
||||
On i586, x86_64, ppc and ppc64, this test is known to sometimes fail
|
||||
with a diagnostic like:
|
||||
|
||||
Starting test_tls ...*** Error in `./test-tls': free(): invalid pointer: 0x00007f21500008c0 ***
|
||||
======= Backtrace: =========
|
||||
/lib64/libc.so.6(+0x7406f)[0x7f215845006f]
|
||||
/lib64/libc.so.6(+0x7989e)[0x7f215845589e]
|
||||
/lib64/libpthread.so.0(+0x7ee2)[0x7f215878fee2]
|
||||
/lib64/libpthread.so.0(+0x813e)[0x7f215879013e]
|
||||
/lib64/libc.so.6(clone+0x6d)[0x7f21584c3d6d]
|
||||
|
||||
* gnulib-tests/gnulib.mk (test-tls): Comment to skip for now.
|
||||
|
||||
---
|
||||
gnulib-tests/gnulib.mk | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
Index: gnulib-tests/gnulib.mk
|
||||
===================================================================
|
||||
--- gnulib-tests/gnulib.mk.orig 2013-12-04 16:02:24.000000000 +0100
|
||||
+++ gnulib-tests/gnulib.mk 2014-01-09 01:28:13.401082108 +0100
|
||||
@@ -2303,9 +2303,10 @@ EXTRA_DIST += test-time.c
|
||||
|
||||
## begin gnulib module tls-tests
|
||||
|
||||
-TESTS += test-tls
|
||||
-check_PROGRAMS += test-tls
|
||||
-test_tls_LDADD = $(LDADD) @LIBMULTITHREAD@ @YIELD_LIB@
|
||||
+# Fails on i586 and x86_64.
|
||||
+#TESTS += test-tls
|
||||
+#check_PROGRAMS += test-tls
|
||||
+#test_tls_LDADD = $(LDADD) @LIBMULTITHREAD@ @YIELD_LIB@
|
||||
|
||||
EXTRA_DIST += test-tls.c
|
||||
|
52
coreutils-skip-some-sort-tests-on-ppc.patch
Normal file
52
coreutils-skip-some-sort-tests-on-ppc.patch
Normal file
@ -0,0 +1,52 @@
|
||||
Subject: tests: skip some valgrind-ed tests of sort on ppc/ppc64
|
||||
|
||||
Valgrind diagnoses problems in 'mkstemp64' deep down in glibc on PowerPC:
|
||||
|
||||
Conditional jump or move depends on uninitialised value(s)
|
||||
at 0xFDB37DC: __udivmoddi4 (in /lib/libc-2.18.90.so)
|
||||
by 0xFDB3DD7: __umoddi3@GLIBC_2.0 (in /lib/libc-2.18.90.so)
|
||||
by 0xFDFDF9F: __gen_tempname (in /lib/libc-2.18.90.so)
|
||||
by 0xFE77563: mkstemp64 (in /lib/libc-2.18.90.so)
|
||||
by 0x100135D3: mkstemp_safer (mkstemp-safer.c:33)
|
||||
by 0x10006ECF: create_temp_file (sort.c:942)
|
||||
by 0x1000A427: maybe_create_temp (sort.c:1176)
|
||||
by 0x100031BF: main (sort.c:1223)
|
||||
|
||||
* tests/misc/sort-stale-thread-mem.sh: Skip on ppc/ppc64.
|
||||
* tests/misc/sort-u-FMR.sh: Likewise.
|
||||
|
||||
---
|
||||
tests/misc/sort-stale-thread-mem.sh | 4 ++++
|
||||
tests/misc/sort-u-FMR.sh | 4 ++++
|
||||
2 files changed, 8 insertions(+)
|
||||
|
||||
Index: tests/misc/sort-stale-thread-mem.sh
|
||||
===================================================================
|
||||
--- tests/misc/sort-stale-thread-mem.sh.orig 2013-12-04 15:48:30.000000000 +0100
|
||||
+++ tests/misc/sort-stale-thread-mem.sh 2014-01-09 01:27:05.735557168 +0100
|
||||
@@ -27,6 +27,10 @@ require_valgrind_
|
||||
grep '^#define HAVE_PTHREAD_T 1' "$CONFIG_HEADER" > /dev/null ||
|
||||
skip_ 'requires pthreads'
|
||||
|
||||
+case "$( uname -m )" in
|
||||
+ ppc | ppc64) skip_ "SUSE: disabled for now on ppc/ppc64";;
|
||||
+esac
|
||||
+
|
||||
# gensort output seems to trigger the failure more often,
|
||||
# so prefer gensort if it is available.
|
||||
(gensort -a 10000 in) 2>/dev/null ||
|
||||
Index: tests/misc/sort-u-FMR.sh
|
||||
===================================================================
|
||||
--- tests/misc/sort-u-FMR.sh.orig 2013-12-04 15:48:30.000000000 +0100
|
||||
+++ tests/misc/sort-u-FMR.sh 2014-01-09 01:27:05.736557309 +0100
|
||||
@@ -20,6 +20,10 @@
|
||||
print_ver_ sort
|
||||
require_valgrind_
|
||||
|
||||
+case "$( uname -m )" in
|
||||
+ ppc | ppc64) skip_ "SUSE: disabled for now on ppc/ppc64";;
|
||||
+esac
|
||||
+
|
||||
{ echo 0; printf '%0900d\n' 1; } > in || framework_failure_
|
||||
|
||||
valgrind --error-exitcode=1 sort --p=1 -S32b -u in > out || fail=1
|
@ -1,7 +1,11 @@
|
||||
---
|
||||
src/uname.c | 42 ++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 42 insertions(+)
|
||||
|
||||
Index: src/uname.c
|
||||
===================================================================
|
||||
--- src/uname.c.orig
|
||||
+++ src/uname.c
|
||||
--- src/uname.c.orig 2013-12-04 15:48:30.000000000 +0100
|
||||
+++ src/uname.c 2014-01-09 01:26:27.130914660 +0100
|
||||
@@ -337,6 +337,36 @@ main (int argc, char **argv)
|
||||
# endif
|
||||
}
|
||||
|
36
coreutils-tests-avoid-FP-cp-cpuinfo.patch
Normal file
36
coreutils-tests-avoid-FP-cp-cpuinfo.patch
Normal file
@ -0,0 +1,36 @@
|
||||
From 84e67a5bd239179e2faded424861dce5718fa12c Mon Sep 17 00:00:00 2001
|
||||
From: Bernhard Voelker <mail@bernhard-voelker.de>
|
||||
Date: Tue, 7 Jan 2014 19:18:25 +0100
|
||||
Subject: [PATCH] tests: avoid FP failure when cp fails for /proc/cpuinfo
|
||||
|
||||
On aarch64, cp fails to copy /proc/cpuinfo because the inode number
|
||||
seems to change between the initial stat() call and copying the file:
|
||||
|
||||
$ cp /proc/cpuinfo exp
|
||||
cp: skipping file '/proc/cpuinfo', as it was \
|
||||
replaced while being copied
|
||||
|
||||
* tests/cp/proc-zero-len.sh: When cp fails, check on the above
|
||||
error message to skip the test.
|
||||
---
|
||||
tests/cp/proc-zero-len.sh | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: tests/cp/proc-zero-len.sh
|
||||
===================================================================
|
||||
--- tests/cp/proc-zero-len.sh.orig 2013-12-04 15:48:30.000000000 +0100
|
||||
+++ tests/cp/proc-zero-len.sh 2014-01-09 01:28:38.447905329 +0100
|
||||
@@ -27,7 +27,12 @@ test -r $f || f=empty
|
||||
cat $f > out || fail=1
|
||||
|
||||
# With coreutils-6.9, this would create a zero-length "exp" file.
|
||||
-cp $f exp || fail=1
|
||||
+# Skip this test on architectures like aarch64 where the inode
|
||||
+# number of the file changed during the cp run.
|
||||
+cp $f exp 2>err \
|
||||
+ || { fail=1;
|
||||
+ grep 'replaced while being copied' \
|
||||
+ && skip_ "File $f is being replaced while being copied"; }
|
||||
|
||||
# Don't simply compare contents; they might differ,
|
||||
# e.g., if CPU freq changes between cat and cp invocations.
|
36
coreutils-tests-shorten-extreme-factor-tests.patch
Normal file
36
coreutils-tests-shorten-extreme-factor-tests.patch
Normal file
@ -0,0 +1,36 @@
|
||||
From d3b433bd41c8978c31fee085cc7e6b0554a4c03e Mon Sep 17 00:00:00 2001
|
||||
From: Bernhard Voelker <mail@bernhard-voelker.de>
|
||||
Date: Wed, 8 Jan 2014 01:15:58 +0100
|
||||
Subject: [PATCH] tests: shorten extreme-expensive factor tests
|
||||
|
||||
The extended factor tests alone can take several hours on e.g. i586
|
||||
or arm6l. Strip the tests down from 37 to 3.
|
||||
|
||||
* tests/local.mk (factor_tests): From the sequence of the tests
|
||||
00..36, remove all but t00, t05 and t36.
|
||||
---
|
||||
tests/local.mk | 11 +++--------
|
||||
1 file changed, 3 insertions(+), 8 deletions(-)
|
||||
|
||||
Index: tests/local.mk
|
||||
===================================================================
|
||||
--- tests/local.mk.orig 2014-01-09 00:22:09.652388317 +0100
|
||||
+++ tests/local.mk 2014-01-09 01:29:51.697680994 +0100
|
||||
@@ -649,14 +649,9 @@ all_tests = \
|
||||
# See tests/factor/create-test.sh.
|
||||
tf = tests/factor
|
||||
factor_tests = \
|
||||
- $(tf)/t00.sh $(tf)/t01.sh $(tf)/t02.sh $(tf)/t03.sh $(tf)/t04.sh \
|
||||
- $(tf)/t05.sh $(tf)/t06.sh $(tf)/t07.sh $(tf)/t08.sh $(tf)/t09.sh \
|
||||
- $(tf)/t10.sh $(tf)/t11.sh $(tf)/t12.sh $(tf)/t13.sh $(tf)/t14.sh \
|
||||
- $(tf)/t15.sh $(tf)/t16.sh $(tf)/t17.sh $(tf)/t18.sh $(tf)/t19.sh \
|
||||
- $(tf)/t20.sh $(tf)/t21.sh $(tf)/t22.sh $(tf)/t23.sh $(tf)/t24.sh \
|
||||
- $(tf)/t25.sh $(tf)/t26.sh $(tf)/t27.sh $(tf)/t28.sh $(tf)/t29.sh \
|
||||
- $(tf)/t30.sh $(tf)/t31.sh $(tf)/t32.sh $(tf)/t33.sh $(tf)/t34.sh \
|
||||
- $(tf)/t35.sh $(tf)/t36.sh
|
||||
+ $(tf)/t00.sh \
|
||||
+ $(tf)/t05.sh \
|
||||
+ $(tf)/t36.sh
|
||||
|
||||
$(factor_tests): $(tf)/run.sh $(tf)/create-test.sh
|
||||
$(AM_V_GEN)$(MKDIR_P) $(tf)
|
@ -1,3 +1,196 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 9 01:55:08 UTC 2014 - mail@bernhard-voelker.de
|
||||
|
||||
- Add upstream patch (coreutils-copy-fix-selinux-existing-dirs.patch):
|
||||
cp -a: set the correct SELinux context on already existing
|
||||
destination directories (rh#1045122).
|
||||
|
||||
- Merge I18n fixes from Fedora (coreutils-i18n.patch):
|
||||
* sort: fix sorting by non-first field (rh#1003544)
|
||||
* cut: avoid using slower multi-byte code in non-UTF-8 locales
|
||||
(rh#1021403, rh#499220).
|
||||
|
||||
- Testsuite: skip some tests:
|
||||
* coreutils-skip-some-sort-tests-on-ppc.patch: Add patch to
|
||||
skip 2 valgrind'ed sort tests on ppc/ppc64.
|
||||
* coreutils-skip-gnulib-test-tls.patch: Add patch to skip
|
||||
the gnulib test 'test-tls' on i586, x86_64, ppc and ppc64.
|
||||
* coreutils-tests-avoid-FP-cp-cpuinfo.patch: Add patch to skip a
|
||||
test when cp fails for /proc/cpuinfo which happens on aarch64.
|
||||
* coreutils-tests-shorten-extreme-factor-tests.patch: Add patch
|
||||
to skip most of the extreme-expensive factor tests.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 4 23:05:46 UTC 2014 - mail@bernhard-voelker.de
|
||||
|
||||
- Refresh patches to match the new version.
|
||||
|
||||
* coreutils-build-timeout-as-pie.patch: Update line number.
|
||||
* coreutils-gnulib-tests-ppc64le.patch: Likewise.
|
||||
* coreutils-invalid-ids.patch: Likewise.
|
||||
* coreutils-remove_hostname_documentation.patch: Likewise.
|
||||
* coreutils-remove_kill_documentation.patch: Likewise.
|
||||
* coreutils-sysinfo.patch: Likewise.
|
||||
* coreutils-i18n.patch: Likewise.
|
||||
|
||||
- Additional changes in coreutils-i18n.patch:
|
||||
* Accommodate to upstream changes in cut.c and uniq.c.
|
||||
* Fix some compiler warnings.
|
||||
* Fix 145-mb test in tests/misc/uniq.pl.
|
||||
* Skip sort's "2[01]a" test cases for now
|
||||
to avoid a test failure on i586/x86_64.
|
||||
|
||||
- Remove now-upstream and therefore obsolete patches.
|
||||
|
||||
* coreutils-8.21.de.po.xz: Remove, upstream is latest.
|
||||
* coreutils-gnulib-tests-fix-nap-race-obs.patch:
|
||||
Remove, now upstream.
|
||||
* coreutils-gnulib-tests-fix-nap-race.patch: Likewise.
|
||||
* longlong-aarch64.patch: Likewise.
|
||||
|
||||
- Update to 8.22 (2013-12-13) [stable]
|
||||
|
||||
** Bug fixes
|
||||
|
||||
df now processes the mount list correctly in the presence of unstatable
|
||||
mount points. Previously it may have failed to output some mount points.
|
||||
[bug introduced in coreutils-8.21]
|
||||
|
||||
df now processes symbolic links and relative paths to special files containing
|
||||
a mounted file system correctly. Previously df displayed the statistics about
|
||||
the file system the file is stored on rather than the one inside.
|
||||
[This bug was present in "the beginning".]
|
||||
|
||||
df now processes disk device nodes correctly in the presence of bind mounts.
|
||||
Now df shows the base mounted file system rather than the last one mounted.
|
||||
[This bug was present in "the beginning".]
|
||||
|
||||
install now removes the target file if the strip program failed for any
|
||||
reason. Before, that file was left behind, sometimes even with wrong
|
||||
permissions.
|
||||
[This bug was present in "the beginning".]
|
||||
|
||||
ln --relative now updates existing symlinks correctly. Previously it based
|
||||
the relative link on the dereferenced path of an existing link.
|
||||
[This bug was introduced when --relative was added in coreutils-8.16.]
|
||||
|
||||
ls --recursive will no longer exit with "serious" exit code (2), if there
|
||||
is an error reading a directory not specified on the command line.
|
||||
[Bug introduced in coreutils-5.3.0]
|
||||
|
||||
mkdir, mkfifo, and mknod now work better when creating a file in a directory
|
||||
with a default ACL whose umask disagrees with the process's umask, on a
|
||||
system such as GNU/Linux where directory ACL umasks override process umasks.
|
||||
[bug introduced in coreutils-6.0]
|
||||
|
||||
mv will now replace empty directories in the destination with directories
|
||||
from the source, when copying across file systems.
|
||||
[This bug was present in "the beginning".]
|
||||
|
||||
od -wN with N larger than 64K on a system with 32-bit size_t would
|
||||
print approximately 2*N bytes of extraneous padding.
|
||||
[Bug introduced in coreutils-7.0]
|
||||
|
||||
rm -I now prompts for confirmation before removing a write protected file.
|
||||
[Bug introduced in coreutils-6.8]
|
||||
|
||||
shred once again uses direct I/O on systems requiring aligned buffers.
|
||||
Also direct I/O failures for odd sized writes at end of file are now handled.
|
||||
[The "last write" bug was introduced in coreutils-5.3.0 but masked
|
||||
by the alignment bug introduced in coreutils-6.0]
|
||||
|
||||
tail --retry -f now waits for the files specified to appear. Before, tail
|
||||
would immediately exit when such a file is initially inaccessible.
|
||||
[This bug was introduced when inotify support was added in coreutils-7.5]
|
||||
|
||||
tail -F has improved handling of symlinks. Previously tail didn't respond
|
||||
to the symlink target (re)appearing after being (re)created.
|
||||
[This bug was introduced when inotify support was added in coreutils-7.5]
|
||||
|
||||
** New features
|
||||
|
||||
cp, install, mkdir, mknod, mkfifo and mv now support "restorecon"
|
||||
functionality through the -Z option, to set the SELinux context
|
||||
appropriate for the new item location in the file system.
|
||||
|
||||
csplit accepts a new option: --suppressed-matched, to elide the lines
|
||||
used to identify the split points.
|
||||
|
||||
df --output now accepts a 'file' field, to propagate a specified
|
||||
command line argument through to the output.
|
||||
|
||||
du accepts a new option: --inodes to show the number of inodes instead
|
||||
of the blocks used.
|
||||
|
||||
id accepts a new option: --zero (-z) to delimit the output entries by
|
||||
a NUL instead of a white space character.
|
||||
|
||||
id and ls with -Z report the SMACK security context where available.
|
||||
mkdir, mkfifo and mknod with -Z set the SMACK context where available.
|
||||
|
||||
id can now lookup by user ID, in addition to the existing name lookup.
|
||||
|
||||
join accepts a new option: --zero-terminated (-z). As with the sort,uniq
|
||||
option of the same name, this makes join consume and produce NUL-terminated
|
||||
lines rather than newline-terminated lines.
|
||||
|
||||
uniq accepts a new option: --group to print all items, while separating
|
||||
unique groups with empty lines.
|
||||
|
||||
shred accepts new parameters to the --remove option to give greater
|
||||
control over that operation, which can greatly reduce sync overhead.
|
||||
|
||||
shuf accepts a new option: --repeat (-r), which can repeat items in
|
||||
the output.
|
||||
|
||||
** Changes in behavior
|
||||
|
||||
cp --link now dereferences a symbolic link as source before creating the
|
||||
hard link in the destination unless the -P,--no-deref option is specified.
|
||||
Previously, it would create a hard link of the symbolic link, even when
|
||||
the dereferencing options -L or -H were specified.
|
||||
|
||||
cp, install, mkdir, mknod and mkfifo no longer accept an argument to the
|
||||
short -Z option. The --context equivalent still takes an optional argument.
|
||||
|
||||
dd status=none now suppresses all non fatal diagnostic messages,
|
||||
not just the transfer counts.
|
||||
|
||||
df no longer accepts the long-obsolescent --megabytes option.
|
||||
|
||||
stdbuf now requires at least one buffering mode option to be specified,
|
||||
as per the documented interface.
|
||||
|
||||
** Improvements
|
||||
|
||||
base64 encoding throughput for bulk data is increased by about 60%.
|
||||
|
||||
md5sum can use libcrypto hash routines where allowed to potentially
|
||||
get better performance through using more system specific logic.
|
||||
sha1sum for example has improved throughput by 40% on an i3-2310M.
|
||||
This also affects sha1sum, sha224sum, sha256sum, sha384sum and sha512sum.
|
||||
|
||||
stat and tail work better with EFIVARFS, EXOFS, F2FS, HOSTFS, SMACKFS, SNFS
|
||||
and UBIFS. stat -f --format=%T now reports the file system type, and tail -f
|
||||
now uses inotify for files on all those except SNFS, rather than the default
|
||||
(for unknown file system types) of issuing a warning and reverting to polling.
|
||||
|
||||
shuf outputs subsets of large inputs much more efficiently.
|
||||
Reservoir sampling is used to limit memory usage based on the number of
|
||||
outputs, rather than the number of inputs.
|
||||
|
||||
shred increases the default write block size from 12KiB to 64KiB
|
||||
to align with other utilities and reduce the system call overhead.
|
||||
|
||||
split --line-bytes=SIZE, now only allocates memory as needed rather
|
||||
than allocating SIZE bytes at program start.
|
||||
|
||||
stty now supports configuring "stick" (mark/space) parity where available.
|
||||
|
||||
** Build-related
|
||||
|
||||
factor now builds on aarch64 based systems [bug introduced in coreutils-8.20]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 19 23:37:39 UTC 2013 - uweigand@de.ibm.com
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package coreutils-testsuite
|
||||
#
|
||||
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -21,7 +21,7 @@ Summary: GNU Core Utilities
|
||||
License: GPL-3.0+
|
||||
Group: System/Base
|
||||
Url: http://www.gnu.org/software/coreutils/
|
||||
Version: 8.21
|
||||
Version: 8.22
|
||||
Release: 0
|
||||
|
||||
#################################################################
|
||||
@ -87,28 +87,38 @@ Source: coreutils-%{version}.tar.xz
|
||||
%endif
|
||||
|
||||
Source1: baselibs.conf
|
||||
Source2: coreutils-%{version}.de.po.xz
|
||||
|
||||
Patch1: coreutils-remove_hostname_documentation.patch
|
||||
Patch3: coreutils-remove_kill_documentation.patch
|
||||
Patch4: coreutils-i18n.patch
|
||||
Patch8: coreutils-sysinfo.patch
|
||||
Patch16: coreutils-invalid-ids.patch
|
||||
Patch17: longlong-aarch64.patch
|
||||
|
||||
# OBS / RPMLINT require /usr/bin/timeout to be built with the -fpie option.
|
||||
Patch100: coreutils-build-timeout-as-pie.patch
|
||||
|
||||
# Fix gnulib-test failures related to gnulib-tests/nap.h.
|
||||
Patch200: coreutils-gnulib-tests-fix-nap-race.patch
|
||||
|
||||
# Fix gnulib-test failures: increase nap() delay multiplier even
|
||||
# a bit more to avoid failures on OBS.
|
||||
Patch201: coreutils-gnulib-tests-fix-nap-race-obs.patch
|
||||
# Upstream patch to 8.22: cp -a: set the correct SELinux context
|
||||
# on already existing destination directories.
|
||||
Patch110: coreutils-copy-fix-selinux-existing-dirs.patch
|
||||
|
||||
# Fix imported gnulib long double math tests for little-endian PowerPC
|
||||
Patch202: coreutils-gnulib-tests-ppc64le.patch
|
||||
|
||||
# Skip 2 valgrind'ed sort tests on ppc/ppc64 which would fail due to
|
||||
# a glibc issue in mkstemp.
|
||||
Patch300: coreutils-skip-some-sort-tests-on-ppc.patch
|
||||
|
||||
%ifarch %ix86 x86_64 ppc ppc64
|
||||
Patch301: coreutils-skip-gnulib-test-tls.patch
|
||||
%endif
|
||||
|
||||
# tests: avoid FP failure when cp fails for /proc/cpuinfo
|
||||
# which happens e.g. on aarch64.
|
||||
Patch302: coreutils-tests-avoid-FP-cp-cpuinfo.patch
|
||||
|
||||
# tests: shorten extreme-expensive factor tests
|
||||
Patch303: coreutils-tests-shorten-extreme-factor-tests.patch
|
||||
|
||||
# ================================================
|
||||
%description
|
||||
These are the GNU core utilities. This package is the union of
|
||||
@ -133,15 +143,19 @@ the GNU fileutils, sh-utils, and textutils packages.
|
||||
%patch3
|
||||
%patch8
|
||||
%patch16
|
||||
%patch17 -p1
|
||||
#
|
||||
%patch100
|
||||
%patch110
|
||||
%patch202
|
||||
|
||||
%patch200
|
||||
%patch201
|
||||
%patch202 -p1
|
||||
%patch300
|
||||
|
||||
xz -dc %{S:2} >po/de.po
|
||||
%ifarch %ix86 x86_64 ppc ppc64
|
||||
%patch301
|
||||
%endif
|
||||
|
||||
%patch302
|
||||
%patch303
|
||||
|
||||
#???## We need to statically link to gmp, otherwise we have a build loop
|
||||
#???#sed -i s,'$(LIB_GMP)',%%{_libdir}/libgmp.a,g Makefile.in
|
||||
|
@ -1,3 +1,196 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 9 01:55:08 UTC 2014 - mail@bernhard-voelker.de
|
||||
|
||||
- Add upstream patch (coreutils-copy-fix-selinux-existing-dirs.patch):
|
||||
cp -a: set the correct SELinux context on already existing
|
||||
destination directories (rh#1045122).
|
||||
|
||||
- Merge I18n fixes from Fedora (coreutils-i18n.patch):
|
||||
* sort: fix sorting by non-first field (rh#1003544)
|
||||
* cut: avoid using slower multi-byte code in non-UTF-8 locales
|
||||
(rh#1021403, rh#499220).
|
||||
|
||||
- Testsuite: skip some tests:
|
||||
* coreutils-skip-some-sort-tests-on-ppc.patch: Add patch to
|
||||
skip 2 valgrind'ed sort tests on ppc/ppc64.
|
||||
* coreutils-skip-gnulib-test-tls.patch: Add patch to skip
|
||||
the gnulib test 'test-tls' on i586, x86_64, ppc and ppc64.
|
||||
* coreutils-tests-avoid-FP-cp-cpuinfo.patch: Add patch to skip a
|
||||
test when cp fails for /proc/cpuinfo which happens on aarch64.
|
||||
* coreutils-tests-shorten-extreme-factor-tests.patch: Add patch
|
||||
to skip most of the extreme-expensive factor tests.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 4 23:05:46 UTC 2014 - mail@bernhard-voelker.de
|
||||
|
||||
- Refresh patches to match the new version.
|
||||
|
||||
* coreutils-build-timeout-as-pie.patch: Update line number.
|
||||
* coreutils-gnulib-tests-ppc64le.patch: Likewise.
|
||||
* coreutils-invalid-ids.patch: Likewise.
|
||||
* coreutils-remove_hostname_documentation.patch: Likewise.
|
||||
* coreutils-remove_kill_documentation.patch: Likewise.
|
||||
* coreutils-sysinfo.patch: Likewise.
|
||||
* coreutils-i18n.patch: Likewise.
|
||||
|
||||
- Additional changes in coreutils-i18n.patch:
|
||||
* Accommodate to upstream changes in cut.c and uniq.c.
|
||||
* Fix some compiler warnings.
|
||||
* Fix 145-mb test in tests/misc/uniq.pl.
|
||||
* Skip sort's "2[01]a" test cases for now
|
||||
to avoid a test failure on i586/x86_64.
|
||||
|
||||
- Remove now-upstream and therefore obsolete patches.
|
||||
|
||||
* coreutils-8.21.de.po.xz: Remove, upstream is latest.
|
||||
* coreutils-gnulib-tests-fix-nap-race-obs.patch:
|
||||
Remove, now upstream.
|
||||
* coreutils-gnulib-tests-fix-nap-race.patch: Likewise.
|
||||
* longlong-aarch64.patch: Likewise.
|
||||
|
||||
- Update to 8.22 (2013-12-13) [stable]
|
||||
|
||||
** Bug fixes
|
||||
|
||||
df now processes the mount list correctly in the presence of unstatable
|
||||
mount points. Previously it may have failed to output some mount points.
|
||||
[bug introduced in coreutils-8.21]
|
||||
|
||||
df now processes symbolic links and relative paths to special files containing
|
||||
a mounted file system correctly. Previously df displayed the statistics about
|
||||
the file system the file is stored on rather than the one inside.
|
||||
[This bug was present in "the beginning".]
|
||||
|
||||
df now processes disk device nodes correctly in the presence of bind mounts.
|
||||
Now df shows the base mounted file system rather than the last one mounted.
|
||||
[This bug was present in "the beginning".]
|
||||
|
||||
install now removes the target file if the strip program failed for any
|
||||
reason. Before, that file was left behind, sometimes even with wrong
|
||||
permissions.
|
||||
[This bug was present in "the beginning".]
|
||||
|
||||
ln --relative now updates existing symlinks correctly. Previously it based
|
||||
the relative link on the dereferenced path of an existing link.
|
||||
[This bug was introduced when --relative was added in coreutils-8.16.]
|
||||
|
||||
ls --recursive will no longer exit with "serious" exit code (2), if there
|
||||
is an error reading a directory not specified on the command line.
|
||||
[Bug introduced in coreutils-5.3.0]
|
||||
|
||||
mkdir, mkfifo, and mknod now work better when creating a file in a directory
|
||||
with a default ACL whose umask disagrees with the process's umask, on a
|
||||
system such as GNU/Linux where directory ACL umasks override process umasks.
|
||||
[bug introduced in coreutils-6.0]
|
||||
|
||||
mv will now replace empty directories in the destination with directories
|
||||
from the source, when copying across file systems.
|
||||
[This bug was present in "the beginning".]
|
||||
|
||||
od -wN with N larger than 64K on a system with 32-bit size_t would
|
||||
print approximately 2*N bytes of extraneous padding.
|
||||
[Bug introduced in coreutils-7.0]
|
||||
|
||||
rm -I now prompts for confirmation before removing a write protected file.
|
||||
[Bug introduced in coreutils-6.8]
|
||||
|
||||
shred once again uses direct I/O on systems requiring aligned buffers.
|
||||
Also direct I/O failures for odd sized writes at end of file are now handled.
|
||||
[The "last write" bug was introduced in coreutils-5.3.0 but masked
|
||||
by the alignment bug introduced in coreutils-6.0]
|
||||
|
||||
tail --retry -f now waits for the files specified to appear. Before, tail
|
||||
would immediately exit when such a file is initially inaccessible.
|
||||
[This bug was introduced when inotify support was added in coreutils-7.5]
|
||||
|
||||
tail -F has improved handling of symlinks. Previously tail didn't respond
|
||||
to the symlink target (re)appearing after being (re)created.
|
||||
[This bug was introduced when inotify support was added in coreutils-7.5]
|
||||
|
||||
** New features
|
||||
|
||||
cp, install, mkdir, mknod, mkfifo and mv now support "restorecon"
|
||||
functionality through the -Z option, to set the SELinux context
|
||||
appropriate for the new item location in the file system.
|
||||
|
||||
csplit accepts a new option: --suppressed-matched, to elide the lines
|
||||
used to identify the split points.
|
||||
|
||||
df --output now accepts a 'file' field, to propagate a specified
|
||||
command line argument through to the output.
|
||||
|
||||
du accepts a new option: --inodes to show the number of inodes instead
|
||||
of the blocks used.
|
||||
|
||||
id accepts a new option: --zero (-z) to delimit the output entries by
|
||||
a NUL instead of a white space character.
|
||||
|
||||
id and ls with -Z report the SMACK security context where available.
|
||||
mkdir, mkfifo and mknod with -Z set the SMACK context where available.
|
||||
|
||||
id can now lookup by user ID, in addition to the existing name lookup.
|
||||
|
||||
join accepts a new option: --zero-terminated (-z). As with the sort,uniq
|
||||
option of the same name, this makes join consume and produce NUL-terminated
|
||||
lines rather than newline-terminated lines.
|
||||
|
||||
uniq accepts a new option: --group to print all items, while separating
|
||||
unique groups with empty lines.
|
||||
|
||||
shred accepts new parameters to the --remove option to give greater
|
||||
control over that operation, which can greatly reduce sync overhead.
|
||||
|
||||
shuf accepts a new option: --repeat (-r), which can repeat items in
|
||||
the output.
|
||||
|
||||
** Changes in behavior
|
||||
|
||||
cp --link now dereferences a symbolic link as source before creating the
|
||||
hard link in the destination unless the -P,--no-deref option is specified.
|
||||
Previously, it would create a hard link of the symbolic link, even when
|
||||
the dereferencing options -L or -H were specified.
|
||||
|
||||
cp, install, mkdir, mknod and mkfifo no longer accept an argument to the
|
||||
short -Z option. The --context equivalent still takes an optional argument.
|
||||
|
||||
dd status=none now suppresses all non fatal diagnostic messages,
|
||||
not just the transfer counts.
|
||||
|
||||
df no longer accepts the long-obsolescent --megabytes option.
|
||||
|
||||
stdbuf now requires at least one buffering mode option to be specified,
|
||||
as per the documented interface.
|
||||
|
||||
** Improvements
|
||||
|
||||
base64 encoding throughput for bulk data is increased by about 60%.
|
||||
|
||||
md5sum can use libcrypto hash routines where allowed to potentially
|
||||
get better performance through using more system specific logic.
|
||||
sha1sum for example has improved throughput by 40% on an i3-2310M.
|
||||
This also affects sha1sum, sha224sum, sha256sum, sha384sum and sha512sum.
|
||||
|
||||
stat and tail work better with EFIVARFS, EXOFS, F2FS, HOSTFS, SMACKFS, SNFS
|
||||
and UBIFS. stat -f --format=%T now reports the file system type, and tail -f
|
||||
now uses inotify for files on all those except SNFS, rather than the default
|
||||
(for unknown file system types) of issuing a warning and reverting to polling.
|
||||
|
||||
shuf outputs subsets of large inputs much more efficiently.
|
||||
Reservoir sampling is used to limit memory usage based on the number of
|
||||
outputs, rather than the number of inputs.
|
||||
|
||||
shred increases the default write block size from 12KiB to 64KiB
|
||||
to align with other utilities and reduce the system call overhead.
|
||||
|
||||
split --line-bytes=SIZE, now only allocates memory as needed rather
|
||||
than allocating SIZE bytes at program start.
|
||||
|
||||
stty now supports configuring "stick" (mark/space) parity where available.
|
||||
|
||||
** Build-related
|
||||
|
||||
factor now builds on aarch64 based systems [bug introduced in coreutils-8.20]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 19 23:37:39 UTC 2013 - uweigand@de.ibm.com
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package coreutils
|
||||
#
|
||||
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -21,7 +21,7 @@ Summary: GNU Core Utilities
|
||||
License: GPL-3.0+
|
||||
Group: System/Base
|
||||
Url: http://www.gnu.org/software/coreutils/
|
||||
Version: 8.21
|
||||
Version: 8.22
|
||||
Release: 0
|
||||
|
||||
#################################################################
|
||||
@ -87,28 +87,38 @@ Source: coreutils-%{version}.tar.xz
|
||||
%endif
|
||||
|
||||
Source1: baselibs.conf
|
||||
Source2: coreutils-%{version}.de.po.xz
|
||||
|
||||
Patch1: coreutils-remove_hostname_documentation.patch
|
||||
Patch3: coreutils-remove_kill_documentation.patch
|
||||
Patch4: coreutils-i18n.patch
|
||||
Patch8: coreutils-sysinfo.patch
|
||||
Patch16: coreutils-invalid-ids.patch
|
||||
Patch17: longlong-aarch64.patch
|
||||
|
||||
# OBS / RPMLINT require /usr/bin/timeout to be built with the -fpie option.
|
||||
Patch100: coreutils-build-timeout-as-pie.patch
|
||||
|
||||
# Fix gnulib-test failures related to gnulib-tests/nap.h.
|
||||
Patch200: coreutils-gnulib-tests-fix-nap-race.patch
|
||||
|
||||
# Fix gnulib-test failures: increase nap() delay multiplier even
|
||||
# a bit more to avoid failures on OBS.
|
||||
Patch201: coreutils-gnulib-tests-fix-nap-race-obs.patch
|
||||
# Upstream patch to 8.22: cp -a: set the correct SELinux context
|
||||
# on already existing destination directories.
|
||||
Patch110: coreutils-copy-fix-selinux-existing-dirs.patch
|
||||
|
||||
# Fix imported gnulib long double math tests for little-endian PowerPC
|
||||
Patch202: coreutils-gnulib-tests-ppc64le.patch
|
||||
|
||||
# Skip 2 valgrind'ed sort tests on ppc/ppc64 which would fail due to
|
||||
# a glibc issue in mkstemp.
|
||||
Patch300: coreutils-skip-some-sort-tests-on-ppc.patch
|
||||
|
||||
%ifarch %ix86 x86_64 ppc ppc64
|
||||
Patch301: coreutils-skip-gnulib-test-tls.patch
|
||||
%endif
|
||||
|
||||
# tests: avoid FP failure when cp fails for /proc/cpuinfo
|
||||
# which happens e.g. on aarch64.
|
||||
Patch302: coreutils-tests-avoid-FP-cp-cpuinfo.patch
|
||||
|
||||
# tests: shorten extreme-expensive factor tests
|
||||
Patch303: coreutils-tests-shorten-extreme-factor-tests.patch
|
||||
|
||||
# ================================================
|
||||
%description
|
||||
These are the GNU core utilities. This package is the union of
|
||||
@ -133,15 +143,19 @@ the GNU fileutils, sh-utils, and textutils packages.
|
||||
%patch3
|
||||
%patch8
|
||||
%patch16
|
||||
%patch17 -p1
|
||||
#
|
||||
%patch100
|
||||
%patch110
|
||||
%patch202
|
||||
|
||||
%patch200
|
||||
%patch201
|
||||
%patch202 -p1
|
||||
%patch300
|
||||
|
||||
xz -dc %{S:2} >po/de.po
|
||||
%ifarch %ix86 x86_64 ppc ppc64
|
||||
%patch301
|
||||
%endif
|
||||
|
||||
%patch302
|
||||
%patch303
|
||||
|
||||
#???## We need to statically link to gmp, otherwise we have a build loop
|
||||
#???#sed -i s,'$(LIB_GMP)',%%{_libdir}/libgmp.a,g Makefile.in
|
||||
|
@ -1,48 +0,0 @@
|
||||
From 9fe7c5b6eb373d859390dd5a7844a666d8b7818b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Torbj=C3=B6rn=20Granlund?= <tg@gmplib.org>
|
||||
Date: Mon, 4 Mar 2013 17:57:33 +0000
|
||||
Subject: [PATCH] build: fix factor build failure on aarch64
|
||||
|
||||
* src/longlong.h (__aarch64__): Make add_ssaaaa and sub_ddmmss work.
|
||||
* NEWS: Mention the build fix.
|
||||
Reported at https://bugzilla.redhat.com/917735
|
||||
---
|
||||
NEWS | 4 ++++
|
||||
src/longlong.h | 21 +++++++--------------
|
||||
2 files changed, 11 insertions(+), 14 deletions(-)
|
||||
|
||||
Index: coreutils-8.21/src/longlong.h
|
||||
===================================================================
|
||||
--- coreutils-8.21.orig/src/longlong.h
|
||||
+++ coreutils-8.21/src/longlong.h
|
||||
@@ -529,23 +529,16 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype
|
||||
#endif /* __arm__ */
|
||||
|
||||
#if defined (__aarch64__) && W_TYPE_SIZE == 64
|
||||
+/* FIXME: Extend the immediate range for the low word by using both
|
||||
+ ADDS and SUBS, since they set carry in the same way. */
|
||||
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
|
||||
- __asm__ ("adds\t%1, %4, %5\n\tadc\t%0, %2, %3" \
|
||||
+ __asm__ ("adds\t%1, %x4, %5\n\tadc\t%0, %x2, %x3" \
|
||||
: "=r" (sh), "=&r" (sl) \
|
||||
- : "r" (ah), "rZ" (bh), "%r" (al), "rI" (bl) __CLOBBER_CC)
|
||||
+ : "rZ" (ah), "rZ" (bh), "%r" (al), "rI" (bl) __CLOBBER_CC)
|
||||
#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
|
||||
- do { \
|
||||
- if (__builtin_constant_p (bl)) \
|
||||
- { \
|
||||
- __asm__ ("subs\t%1, %4, %5\n\tsbc\t%0, %2, %3" \
|
||||
- : "=r" (sh), "=&r" (sl) \
|
||||
- : "r" (ah), "r" (bh), "r" (al), "rI" (bl) __CLOBBER_CC); \
|
||||
- } \
|
||||
- else /* only bh might be a constant */ \
|
||||
- __asm__ ("subs\t%1, %4, %5\n\tsbc\t%0, %2, %3" \
|
||||
- : "=r" (sh), "=&r" (sl) \
|
||||
- : "r" (ah), "rZ" (bh), "r" (al), "rI" (bl) __CLOBBER_CC);\
|
||||
- } while (0)
|
||||
+ __asm__ ("subs\t%1, %x4, %5\n\tsbc\t%0, %x2, %x3" \
|
||||
+ : "=r,r" (sh), "=&r,&r" (sl) \
|
||||
+ : "rZ,rZ" (ah), "rZ,rZ" (bh), "r,Z" (al), "rI,r" (bl) __CLOBBER_CC)
|
||||
#define umul_ppmm(ph, pl, m0, m1) \
|
||||
do { \
|
||||
UDItype __m0 = (m0), __m1 = (m1); \
|
Loading…
Reference in New Issue
Block a user