From e18e41532f244e4caeab1de0499eb477e0c50796 Mon Sep 17 00:00:00 2001 From: Ondrej Vasik Date: Nov 11 2008 16:03:49 +0000 Subject: New upstream release (+ amending/droping patches) --- diff --git a/coreutils-463883-chcon-changes.patch b/coreutils-463883-chcon-changes.patch index 1a60292..b1cf9f5 100644 --- a/coreutils-463883-chcon-changes.patch +++ b/coreutils-463883-chcon-changes.patch @@ -25,8 +25,8 @@ diff -urNp coreutils-6.12-orig/src/chcon.c coreutils-6.12/src/chcon.c - V_off -}; - /* The name the program was run with. */ - char *program_name; + /* If nonzero, and the systems has support for it, change the context + of symbolic links rather than any files they point to. */ @@ -374,7 +355,6 @@ Usage: %s [OPTION]... CONTEXT FILE...\n\ Change the SELinux security context of each FILE to CONTEXT.\n\ With --reference, change the security context of each FILE to that of RFILE.\n\ diff --git a/coreutils-5.2.1-runuser.patch b/coreutils-5.2.1-runuser.patch index d4350e5..db6b81d 100644 --- a/coreutils-5.2.1-runuser.patch +++ b/coreutils-5.2.1-runuser.patch @@ -3,7 +3,7 @@ diff -urNp coreutils-6.12-orig/AUTHORS coreutils-6.12/AUTHORS +++ coreutils-6.12/AUTHORS 2008-10-21 15:00:05.000000000 +0200 @@ -63,6 +63,7 @@ pwd: Jim Meyering readlink: Dmitry V. Levin - rm: Paul Rubin, David MacKenzie, Richard Stallman, Jim Meyering + rm: Paul Rubin, David MacKenzie, Richard M. Stallman, Jim Meyering rmdir: David MacKenzie +runuser: David MacKenzie, Dan Walsh runcon: Russell Coker @@ -23,17 +23,21 @@ diff -urNp coreutils-6.12-orig/man/Makefile.am coreutils-6.12/man/Makefile.am diff -urNp coreutils-6.12-orig/README coreutils-6.12/README --- coreutils-6.12-orig/README 2008-05-15 20:44:37.000000000 +0200 +++ coreutils-6.12/README 2008-10-21 14:59:29.000000000 +0200 -@@ -12,8 +12,8 @@ The programs that can be built with this +@@ -12,10 +12,10 @@ The programs that can be built with this factor false fmt fold groups head hostid hostname id install join kill link ln logname ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup od paste pathchk pinky pr printenv printf ptx pwd readlink rm rmdir - runcon seq sha1sum sha224sum sha256sum sha384sum sha512sum shred shuf -- sleep sort split stat stty su sum sync tac tail tee test touch tr true +- sleep sort split stat stty su sum sync tac tail tee test timeout touch tr +- true truncate tsort tty uname unexpand uniq unlink uptime users vdir wc who +- whoami yes + runcon runuser seq sha1sum sha224sum sha256sum sha384sum sha512sum shred -+ shuf sleep sort split stat stty su sum sync tac tail tee test touch tr true - tsort tty uname unexpand uniq unlink uptime users vdir wc who whoami yes ++ shuf sleep sort split stat stty su sum sync tac tail tee test timeout touch ++ tr true truncate tsort tty uname unexpand uniq unlink uptime users vdir wc ++ who whoami yes See the file NEWS for a list of major changes in the current release. + diff -urNp coreutils-6.12-orig/src/Makefile.am coreutils-6.12/src/Makefile.am --- coreutils-6.12-orig/src/Makefile.am 2008-10-21 14:58:31.000000000 +0200 +++ coreutils-6.12/src/Makefile.am 2008-10-21 14:59:58.000000000 +0200 @@ -43,7 +47,7 @@ diff -urNp coreutils-6.12-orig/src/Makefile.am coreutils-6.12/src/Makefile.am id kill logname pathchk printenv printf pwd \ - runcon seq sleep tee \ + runcon runuser seq sleep tee \ - test true tty whoami yes \ + test timeout true truncate tty whoami yes \ base64 @@ -142,6 +142,10 @@ cp_LDADD += $(LIB_ACL) @@ -251,7 +255,7 @@ diff -urNp coreutils-6.12-orig/src/su.c coreutils-6.12/src/su.c +#endif initialize_main (&argc, &argv); - program_name = argv[0]; + set_program_name (argv[0]); @@ -670,7 +742,11 @@ main (int argc, char **argv) simulate_login = false; change_environment = true; @@ -343,9 +347,9 @@ diff -urNp coreutils-6.12-orig/tests/misc/help-version coreutils-6.12/tests/misc sleep_args=0 su_args=--version +runuser_args=--version + timeout_args=--version # I'd rather not run sync, since it spins up disks that I've - # deliberately caused to spin down (but not unmounted). --- /dev/null 2007-01-09 09:38:07.860075128 +0000 +++ coreutils-6.7/man/runuser.x 2007-01-09 17:27:56.000000000 +0000 @@ -0,0 +1,12 @@ diff --git a/coreutils-6.10-manpages.patch b/coreutils-6.10-manpages.patch index 2c1b5bc..066114e 100644 --- a/coreutils-6.10-manpages.patch +++ b/coreutils-6.10-manpages.patch @@ -10,20 +10,10 @@ diff -urNp coreutils-6.12-orig/src/md5sum.c coreutils-6.12/src/md5sum.c +"), stdout); fputs (_("\ \n\ - The following two options are useful only when verifying checksums:\n\ + The following three options are useful only when verifying checksums:\n\ diff -urNp coreutils-6.12-orig/src/sort.c coreutils-6.12/src/sort.c --- coreutils-6.12-orig/src/sort.c 2008-10-21 16:04:50.000000000 +0200 +++ coreutils-6.12/src/sort.c 2008-10-22 10:52:30.000000000 +0200 -@@ -375,7 +375,8 @@ Other options:\n\ - -C, --check=quiet, --check=silent like -c, but do not report first bad line\n\ - --compress-program=PROG compress temporaries with PROG;\n\ - decompress them with PROG -d\n\ -- -k, --key=POS1[,POS2] start a key at POS1, end it at POS2 (origin 1)\n\ -+ -k, --key=POS1[,POS2] start a key at POS1, end it at POS2 (origin 1) -\n\ -+ when no POS2 specified, end of line is used\n\ - -m, --merge merge already sorted files; do not sort\n\ - "), stdout); - fputs (_("\ @@ -412,7 +413,7 @@ With no FILE, or when FILE is -, read st \n\ *** WARNING ***\n\ diff --git a/coreutils-6.11-sparc-shafix.patch b/coreutils-6.11-sparc-shafix.patch index 8093785..e24b48b 100644 --- a/coreutils-6.11-sparc-shafix.patch +++ b/coreutils-6.11-sparc-shafix.patch @@ -4,7 +4,7 @@ diff -up coreutils-6.11/src/Makefile.am.sparc coreutils-6.11/src/Makefile.am @@ -101,6 +101,7 @@ shred_LDADD = $(LDADD) $(LIB_GETHRXTIME) shuf_LDADD = $(LDADD) $(LIB_GETHRXTIME) tac_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) - vdir_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_SELINUX) + vdir_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_SELINUX) $(LIB_CAP) +tac_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) ## If necessary, add -lm to resolve use of pow in lib/strtod.c. @@ -13,8 +13,8 @@ diff -up coreutils-6.11/src/Makefile.in.sparc coreutils-6.11/src/Makefile.in --- coreutils-6.11/src/Makefile.in.sparc 2008-04-19 16:50:10.000000000 -0500 +++ coreutils-6.11/src/Makefile.in 2008-05-29 18:40:36.000000000 -0500 @@ -1251,6 +1251,7 @@ shuf_LDADD = $(LDADD) $(LIB_GETHRXTIME) - tac_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) - vdir_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_SELINUX) $(LIB_ACL) + vdir_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_SELINUX) $(LIB_CAP) \ + $(LIB_ACL) sort_LDADD = $(LDADD) $(POW_LIB) $(LIB_GETHRXTIME) +tac_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) diff --git a/coreutils-6.12-catch-known-testsuite-failures.patch b/coreutils-6.12-catch-known-testsuite-failures.patch deleted file mode 100644 index 05b9e53..0000000 --- a/coreutils-6.12-catch-known-testsuite-failures.patch +++ /dev/null @@ -1,90 +0,0 @@ -diff -Naurp coreutils-6.12.orig/tests/cp/cp-a-selinux coreutils-6.12/tests/cp/cp-a-selinux ---- coreutils-6.12.orig/tests/cp/cp-a-selinux 2008-05-27 07:39:18.000000000 -0400 -+++ coreutils-6.12/tests/cp/cp-a-selinux 2008-10-06 16:16:38.000000000 -0400 -@@ -33,7 +33,8 @@ cleanup_() { cd /; umount "$cwd/mnt"; } - dd if=/dev/zero of=blob bs=8192 count=200 > /dev/null 2>&1 \ - || framework_failure - mkdir mnt || framework_failure --mkfs -t ext2 -F blob || framework_failure -+mkfs -t ext2 -F blob || -+ skip_test_ "failed to create an ext2 file system" - - # This context is special: it works even when mcstransd isn't running. - ctx=root:object_r:tmp_t:s0 -diff -Naurp coreutils-6.12.orig/tests/cp/preserve-gid coreutils-6.12/tests/cp/preserve-gid ---- coreutils-6.12.orig/tests/cp/preserve-gid 2008-05-27 07:39:18.000000000 -0400 -+++ coreutils-6.12/tests/cp/preserve-gid 2008-10-06 16:16:41.000000000 -0400 -@@ -19,6 +19,10 @@ - . $srcdir/test-lib.sh - require_root_ - -+# Record primary group number, usually 0. -+# This is the group ID used when cp (without -p) creates a new file. -+primary_group_num=$(id -g) -+ - create() { - echo "$1" > "$1" || exit 1 - chown "+$2:+$3" "$1" || exit 1 -@@ -34,7 +38,7 @@ t0() { - if test "x$s" != "x$u $g"; then - # Allow the actual group to match that of the parent directory - # (it was set to 0 above). -- if test "x$s" = "x$u 0"; then -+ if test "x$s" = "x$u $primary_group_num"; then - : - else - echo "$0: $* $f b: $u $g != $s" 1>&2 -diff -Naurp coreutils-6.12.orig/tests/misc/runcon-no-reorder coreutils-6.12/tests/misc/runcon-no-reorder ---- coreutils-6.12.orig/tests/misc/runcon-no-reorder 2008-05-27 07:39:18.000000000 -0400 -+++ coreutils-6.12/tests/misc/runcon-no-reorder 2008-10-06 16:16:41.000000000 -0400 -@@ -23,9 +23,8 @@ fi - - . $srcdir/test-lib.sh - --cat <<\EOF > exp || framework_failure --runcon: runcon may be used only on a SELinux kernel --EOF -+diag='runcon: runcon may be used only on a SELinux kernel' -+echo "$diag" > exp || framework_failure - - fail=0 - -@@ -35,6 +34,14 @@ fail=0 - # about -j being an invalid option. - runcon $(id -Z) true -j 2> out && : > exp - -+# When run on a system with no /selinux/context (i.e., in a chroot), -+# it chcon fails with this: "runcon: invalid context: \ -+# root:system_r:unconfined_t:s0-s0:c0.c1023: No such file or directory" -+# That diagnostic is ok, too, so map it to the more common one. -+case `cat out` in -+ 'runcon: invalid context: '*) echo "$diag" > out;; -+esac -+ - compare out exp || fail=1 - - (exit $fail); exit $fail -diff -Naurp coreutils-6.12.orig/tests/rm/fail-2eperm coreutils-6.12/tests/rm/fail-2eperm ---- coreutils-6.12.orig/tests/rm/fail-2eperm 2008-05-27 07:39:18.000000000 -0400 -+++ coreutils-6.12/tests/rm/fail-2eperm 2008-10-06 16:16:38.000000000 -0400 -@@ -39,8 +39,7 @@ fail=0 - rm_version=`setuidgid $NON_ROOT_USERNAME env PATH="$PATH" rm --version|sed -n '1s/.* //p'` - case $rm_version in - $PACKAGE_VERSION) ;; -- *) echo "$0: cannot access just-built rm as user $NON_ROOT_USERNAME" 1>&2 -- fail=1 ;; -+ *) skip_test_ "cannot access just-built rm as user $NON_ROOT_USERNAME";; - esac - setuidgid $NON_ROOT_USERNAME env PATH="$PATH" rm -rf a 2> out-t && fail=1 - -diff -Naurp coreutils-6.12.orig/THANKS coreutils-6.12/THANKS ---- coreutils-6.12.orig/THANKS 2008-05-06 05:28:24.000000000 -0400 -+++ coreutils-6.12/THANKS 2008-10-06 16:16:38.000000000 -0400 -@@ -237,6 +237,7 @@ Jan Moringen jan. - Jan Nieuwenhuizen janneke@gnu.org - Janos Farkas chexum@shadow.banki.hu - Jarkko Hietaniemi jhi@epsilon.hut.fi -+Jarod Wilson jwilson@redhat.com - Jean Charles Delepine delepine@u-picardie.fr - Jeff Moore jbm@mordor.com - Jeff Sheinberg jeff@bsrd.net diff --git a/coreutils-6.12-date_timerelsnumber.patch b/coreutils-6.12-date_timerelsnumber.patch deleted file mode 100644 index 92de5fb..0000000 --- a/coreutils-6.12-date_timerelsnumber.patch +++ /dev/null @@ -1,381 +0,0 @@ -diff -urNp coreutils-6.12-orig/lib/getdate.y coreutils-6.12/lib/getdate.y ---- coreutils-6.12-orig/lib/getdate.y 2008-01-31 19:37:19.000000000 +0100 -+++ coreutils-6.12/lib/getdate.y 2008-10-08 15:49:35.000000000 +0200 -@@ -1,8 +1,8 @@ - %{ - /* Parse a string into an internal time stamp. - -- Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007 Free Software -- Foundation, Inc. -+ Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -+ 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 -@@ -60,7 +60,7 @@ - # undef static - #endif - --#include -+#include - #include - #include - #include -@@ -205,7 +205,7 @@ typedef struct - union YYSTYPE; - static int yylex (union YYSTYPE *, parser_control *); - static int yyerror (parser_control const *, char const *); --static long int time_zone_hhmm (textint, long int); -+static long int time_zone_hhmm (parser_control *, textint, long int); - - /* Extract into *PC any date and time info from a string of digits - of the form e.g., YYYYMMDD, YYMMDD, HHMM, HH (and sometimes YYY, -@@ -246,6 +246,31 @@ digits_to_date_time (parser_control *pc, - } - } - -+/* Increment PC->rel by FACTOR * REL (FACTOR is 1 or -1). */ -+static void -+apply_relative_time (parser_control *pc, relative_time rel, int factor) -+{ -+ pc->rel.ns += factor * rel.ns; -+ pc->rel.seconds += factor * rel.seconds; -+ pc->rel.minutes += factor * rel.minutes; -+ pc->rel.hour += factor * rel.hour; -+ pc->rel.day += factor * rel.day; -+ pc->rel.month += factor * rel.month; -+ pc->rel.year += factor * rel.year; -+ pc->rels_seen = true; -+} -+ -+/* Set PC-> hour, minutes, seconds and nanoseconds members from arguments. */ -+static void -+set_hhmmss (parser_control *pc, long int hour, long int minutes, -+ time_t sec, long int nsec) -+{ -+ pc->hour = hour; -+ pc->minutes = minutes; -+ pc->seconds.tv_sec = sec; -+ pc->seconds.tv_nsec = nsec; -+} -+ - %} - - /* We want a reentrant parser, even if the TZ manipulation and the calls to -@@ -268,7 +293,7 @@ digits_to_date_time (parser_control *pc, - %token tAGO tDST - - %token tYEAR_UNIT tMONTH_UNIT tHOUR_UNIT tMINUTE_UNIT tSEC_UNIT --%token tDAY_UNIT -+%token tDAY_UNIT tDAY_SHIFT - - %token tDAY tDAYZONE tLOCAL_ZONE tMERIDIAN - %token tMONTH tORDINAL tZONE -@@ -279,7 +304,7 @@ digits_to_date_time (parser_control *pc, - %type o_colon_minutes o_merid - %type seconds signed_seconds unsigned_seconds - --%type relunit relunit_snumber -+%type relunit relunit_snumber dayshift - - %% - -@@ -313,7 +338,6 @@ item: - | day - { pc->days_seen++; } - | rel -- { pc->rels_seen = true; } - | number - | hybrid - ; -@@ -321,45 +345,32 @@ item: - time: - tUNUMBER tMERIDIAN - { -- pc->hour = $1.value; -- pc->minutes = 0; -- pc->seconds.tv_sec = 0; -- pc->seconds.tv_nsec = 0; -+ set_hhmmss (pc, $1.value, 0, 0, 0); - pc->meridian = $2; - } - | tUNUMBER ':' tUNUMBER o_merid - { -- pc->hour = $1.value; -- pc->minutes = $3.value; -- pc->seconds.tv_sec = 0; -- pc->seconds.tv_nsec = 0; -+ set_hhmmss (pc, $1.value, $3.value, 0, 0); - pc->meridian = $4; - } - | tUNUMBER ':' tUNUMBER tSNUMBER o_colon_minutes - { -- pc->hour = $1.value; -- pc->minutes = $3.value; -- pc->seconds.tv_sec = 0; -- pc->seconds.tv_nsec = 0; -+ set_hhmmss (pc, $1.value, $3.value, 0, 0); - pc->meridian = MER24; - pc->zones_seen++; -- pc->time_zone = time_zone_hhmm ($4, $5); -+ pc->time_zone = time_zone_hhmm (pc, $4, $5); - } - | tUNUMBER ':' tUNUMBER ':' unsigned_seconds o_merid - { -- pc->hour = $1.value; -- pc->minutes = $3.value; -- pc->seconds = $5; -+ set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); - pc->meridian = $6; - } - | tUNUMBER ':' tUNUMBER ':' unsigned_seconds tSNUMBER o_colon_minutes - { -- pc->hour = $1.value; -- pc->minutes = $3.value; -- pc->seconds = $5; -+ set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec); - pc->meridian = MER24; - pc->zones_seen++; -- pc->time_zone = time_zone_hhmm ($6, $7); -+ pc->time_zone = time_zone_hhmm (pc, $6, $7); - } - ; - -@@ -381,16 +392,9 @@ zone: - { pc->time_zone = $1; } - | tZONE relunit_snumber - { pc->time_zone = $1; -- pc->rel.ns += $2.ns; -- pc->rel.seconds += $2.seconds; -- pc->rel.minutes += $2.minutes; -- pc->rel.hour += $2.hour; -- pc->rel.day += $2.day; -- pc->rel.month += $2.month; -- pc->rel.year += $2.year; -- pc->rels_seen = true; } -+ apply_relative_time (pc, $2, 1); } - | tZONE tSNUMBER o_colon_minutes -- { pc->time_zone = $1 + time_zone_hhmm ($2, $3); } -+ { pc->time_zone = $1 + time_zone_hhmm (pc, $2, $3); } - | tDAYZONE - { pc->time_zone = $1 + 60; } - | tZONE tDST -@@ -495,25 +499,11 @@ date: - - rel: - relunit tAGO -- { -- pc->rel.ns -= $1.ns; -- pc->rel.seconds -= $1.seconds; -- pc->rel.minutes -= $1.minutes; -- pc->rel.hour -= $1.hour; -- pc->rel.day -= $1.day; -- pc->rel.month -= $1.month; -- pc->rel.year -= $1.year; -- } -+ { apply_relative_time (pc, $1, -1); } - | relunit -- { -- pc->rel.ns += $1.ns; -- pc->rel.seconds += $1.seconds; -- pc->rel.minutes += $1.minutes; -- pc->rel.hour += $1.hour; -- pc->rel.day += $1.day; -- pc->rel.month += $1.month; -- pc->rel.year += $1.year; -- } -+ { apply_relative_time (pc, $1, 1); } -+ | dayshift -+ { apply_relative_time (pc, $1, 1); } - ; - - relunit: -@@ -575,6 +565,11 @@ relunit_snumber: - { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; } - ; - -+dayshift: -+ tDAY_SHIFT -+ { $$ = RELATIVE_TIME_0; $$.day = $1; } -+ ; -+ - seconds: signed_seconds | unsigned_seconds; - - signed_seconds: -@@ -600,14 +595,7 @@ hybrid: - /* Hybrid all-digit and relative offset, so that we accept e.g., - "YYYYMMDD +N days" as well as "YYYYMMDD N days". */ - digits_to_date_time (pc, $1); -- pc->rel.ns += $2.ns; -- pc->rel.seconds += $2.seconds; -- pc->rel.minutes += $2.minutes; -- pc->rel.hour += $2.hour; -- pc->rel.day += $2.day; -- pc->rel.month += $2.month; -- pc->rel.year += $2.year; -- pc->rels_seen = true; -+ apply_relative_time (pc, $2, 1); - } - ; - -@@ -688,10 +676,10 @@ static table const time_units_table[] = - /* Assorted relative-time words. */ - static table const relative_time_table[] = - { -- { "TOMORROW", tDAY_UNIT, 1 }, -- { "YESTERDAY",tDAY_UNIT, -1 }, -- { "TODAY", tDAY_UNIT, 0 }, -- { "NOW", tDAY_UNIT, 0 }, -+ { "TOMORROW", tDAY_SHIFT, 1 }, -+ { "YESTERDAY",tDAY_SHIFT, -1 }, -+ { "TODAY", tDAY_SHIFT, 0 }, -+ { "NOW", tDAY_SHIFT, 0 }, - { "LAST", tORDINAL, -1 }, - { "THIS", tORDINAL, 0 }, - { "NEXT", tORDINAL, 1 }, -@@ -814,15 +802,33 @@ static table const military_table[] = - - /* Convert a time zone expressed as HH:MM into an integer count of - minutes. If MM is negative, then S is of the form HHMM and needs -- to be picked apart; otherwise, S is of the form HH. */ -+ to be picked apart; otherwise, S is of the form HH. As specified in -+ http://www.opengroup.org/susv3xbd/xbd_chap08.html#tag_08_03, allow -+ only valid TZ range, and consider first two digits as hours, if no -+ minutes specified. */ - - static long int --time_zone_hhmm (textint s, long int mm) -+time_zone_hhmm (parser_control *pc, textint s, long int mm) - { -+ long int n_minutes; -+ -+ /* If the length of S is 1 or 2 and no minutes are specified, -+ interpret it as a number of hours. */ -+ if (s.digits <= 2 && mm < 0) -+ s.value *= 100; -+ - if (mm < 0) -- return (s.value / 100) * 60 + s.value % 100; -+ n_minutes = (s.value / 100) * 60 + s.value % 100; - else -- return s.value * 60 + (s.negative ? -mm : mm); -+ n_minutes = s.value * 60 + (s.negative ? -mm : mm); -+ -+ /* If the absolute number of minutes is larger than 24 hours, -+ arrange to reject it by incrementing pc->zones_seen. Thus, -+ we allow only values in the range UTC-24:00 to UTC+24:00. */ -+ if (24 * 60 < abs (n_minutes)) -+ pc->zones_seen++; -+ -+ return n_minutes; - } - - static int -@@ -919,7 +925,7 @@ lookup_word (parser_control const *pc, c - for (p = word; *p; p++) - { - unsigned char ch = *p; -- *p = toupper (ch); -+ *p = c_toupper (ch); - } - - for (tp = meridian_table; tp->name; tp++) -@@ -984,7 +990,7 @@ yylex (YYSTYPE *lvalp, parser_control *p - - for (;;) - { -- while (c = *pc->input, isspace (c)) -+ while (c = *pc->input, c_isspace (c)) - pc->input++; - - if (ISDIGIT (c) || c == '-' || c == '+') -@@ -995,7 +1001,7 @@ yylex (YYSTYPE *lvalp, parser_control *p - if (c == '-' || c == '+') - { - sign = c == '-' ? -1 : 1; -- while (c = *++pc->input, isspace (c)) -+ while (c = *++pc->input, c_isspace (c)) - continue; - if (! ISDIGIT (c)) - /* skip the '-' sign */ -@@ -1099,7 +1105,7 @@ yylex (YYSTYPE *lvalp, parser_control *p - } - } - -- if (isalpha (c)) -+ if (c_isalpha (c)) - { - char buff[20]; - char *p = buff; -@@ -1111,7 +1117,7 @@ yylex (YYSTYPE *lvalp, parser_control *p - *p++ = c; - c = *++pc->input; - } -- while (isalpha (c) || c == '.'); -+ while (c_isalpha (c) || c == '.'); - - *p = '\0'; - tp = lookup_word (pc, buff); -@@ -1224,7 +1230,7 @@ get_date (struct timespec *result, char - if (! tmp) - return false; - -- while (c = *p, isspace (c)) -+ while (c = *p, c_isspace (c)) - p++; - - if (strncmp (p, "TZ=\"", 4) == 0) -@@ -1436,25 +1442,6 @@ get_date (struct timespec *result, char - goto fail; - } - -- if (pc.zones_seen) -- { -- long int delta = pc.time_zone * 60; -- time_t t1; --#ifdef HAVE_TM_GMTOFF -- delta -= tm.tm_gmtoff; --#else -- time_t t = Start; -- struct tm const *gmt = gmtime (&t); -- if (! gmt) -- goto fail; -- delta -= tm_diff (&tm, gmt); --#endif -- t1 = Start - delta; -- if ((Start < t1) != (delta < 0)) -- goto fail; /* time_t overflow */ -- Start = t1; -- } -- - /* Add relative date. */ - if (pc.rel.year | pc.rel.month | pc.rel.day) - { -@@ -1477,6 +1464,27 @@ get_date (struct timespec *result, char - goto fail; - } - -+ /* The only "output" of this if-block is an updated Start value, -+ so this block must follow others that clobber Start. */ -+ if (pc.zones_seen) -+ { -+ long int delta = pc.time_zone * 60; -+ time_t t1; -+#ifdef HAVE_TM_GMTOFF -+ delta -= tm.tm_gmtoff; -+#else -+ time_t t = Start; -+ struct tm const *gmt = gmtime (&t); -+ if (! gmt) -+ goto fail; -+ delta -= tm_diff (&tm, gmt); -+#endif -+ t1 = Start - delta; -+ if ((Start < t1) != (delta < 0)) -+ goto fail; /* time_t overflow */ -+ Start = t1; -+ } -+ - /* Add relative hours, minutes, and seconds. On hosts that support - leap seconds, ignore the possibility of leap seconds; e.g., - "+ 10 minutes" adds 600 seconds, even if one of them is a diff --git a/coreutils-6.12-dd-fullblock.patch b/coreutils-6.12-dd-fullblock.patch deleted file mode 100644 index d8fbbf1..0000000 --- a/coreutils-6.12-dd-fullblock.patch +++ /dev/null @@ -1,173 +0,0 @@ -From 9f8be4b0b83d1e0cbf1326f8cb7e077d026d9b0b Mon Sep 17 00:00:00 2001 -From: Kamil Dudka -Date: Wed, 23 Jul 2008 11:29:21 +0200 -Subject: [PATCH] dd: iflag=fullblock now read full blocks if possible -* src/dd.c (iread_fullblock): New function for reading full blocks. -(scanargs): Check for new parameter iflag=fullblock. -(skip): Use iread_fnc pointer instead of iread function. -(dd_copy): Use iread_fnc pointer instead of iread function. -* tests/dd/misc: Add test for dd - read full blocks. -* doc/coretuils.texi: Mention new parameter iflag=fullblock. -* NEWS: Mentioned the change. - ---- - NEWS | 4 ++++ - doc/coreutils.texi | 6 ++++++ - src/dd.c | 39 +++++++++++++++++++++++++++++++++++++-- - tests/dd/misc | 9 +++++++++ - 4 files changed, 56 insertions(+), 2 deletions(-) - -diff --git a/doc/coreutils.texi b/doc/coreutils.texi -index 81e3b91..b95f8dc 100644 ---- a/doc/coreutils.texi -+++ b/doc/coreutils.texi -@@ -7719,6 +7719,12 @@ platforms that distinguish binary from text I/O. - Use text I/O. Like @samp{binary}, this option has no effect on - standard platforms. - -+@item fullblock -+@opindex fullblock -+Read full blocks from input if possible. read() may return early -+if a full block is not available, so retry until data is available -+or end of file is reached. This flag can be used only for the iflag option. -+ - @end table - - These flags are not supported on all systems, and @samp{dd} rejects -diff --git a/src/dd.c b/src/dd.c -index ead9574..1b620df 100644 ---- a/src/dd.c -+++ b/src/dd.c -@@ -225,6 +225,9 @@ static sig_atomic_t volatile interrupt_signal; - /* A count of the number of pending info signals that have been received. */ - static sig_atomic_t volatile info_signal_count; - -+/* Function used for read (to handle iflag=fullblock parameter) */ -+static ssize_t (*iread_fnc) (int fd, char *buf, size_t size); -+ - /* A longest symbol in the struct symbol_values tables below. */ - #define LONGEST_SYMBOL "fdatasync" - -@@ -257,6 +260,7 @@ static struct symbol_value const conversions[] = - }; - - /* Flags, for iflag="..." and oflag="...". */ -+#define O_FULLBLOCK 010000000 /* Read only full blocks from input */ - static struct symbol_value const flags[] = - { - {"append", O_APPEND}, -@@ -271,6 +275,7 @@ static struct symbol_value const flags[] = - {"nonblock", O_NONBLOCK}, - {"sync", O_SYNC}, - {"text", O_TEXT}, -+ {"fullblock", O_FULLBLOCK}, /* Read only full blocks from input */ - {"", 0} - }; - -@@ -496,6 +496,8 @@ Each FLAG symbol may be:\n\ - fputs (_(" dsync use synchronized I/O for data\n"), stdout); - if (O_SYNC) - fputs (_(" sync likewise, but also for metadata\n"), stdout); -+ fputs (_(" fullblock accumulate full blocks of input (iflag only)\n"), -+ stdout); - if (O_NONBLOCK) - fputs (_(" nonblock use non-blocking I/O\n"), stdout); - if (O_NOATIME) -@@ -762,6 +769,27 @@ iread (int fd, char *buf, size_t size) - } - } - -+/* Wrapper around iread function which reads full blocks if possible */ -+static ssize_t -+iread_fullblock (int fd, char *buf, size_t size) -+{ -+ ssize_t nread = 0; -+ -+ while (0 < size) -+ { -+ ssize_t ncurr = iread(fd, buf, size); -+ if (ncurr < 0) -+ return ncurr; -+ if (ncurr == 0) -+ break; -+ nread += ncurr; -+ buf += ncurr; -+ size -= ncurr; -+ } -+ -+ return nread; -+} -+ - /* Write to FD the buffer BUF of size SIZE, processing any signals - that arrive. Return the number of bytes written, setting errno if - this is less than SIZE. Keep trying if there are partial -@@ -1000,6 +1028,15 @@ scanargs (int argc, char *const *argv) - if (input_flags & (O_DSYNC | O_SYNC)) - input_flags |= O_RSYNC; - -+ if (output_flags & O_FULLBLOCK) -+ { -+ error (0, 0, "%s: %s", _("invalid output flag"), "'fullblock'"); -+ usage (EXIT_FAILURE); -+ } -+ iread_fnc = (input_flags & O_FULLBLOCK)? -+ iread_fullblock: -+ iread; -+ - if (multiple_bits_set (conversions_mask & (C_ASCII | C_EBCDIC | C_IBM))) - error (EXIT_FAILURE, 0, _("cannot combine any two of {ascii,ebcdic,ibm}")); - if (multiple_bits_set (conversions_mask & (C_BLOCK | C_UNBLOCK))) -@@ -1197,7 +1234,7 @@ skip (int fdesc, char const *file, uintmax_t records, size_t blocksize, - - do - { -- ssize_t nread = iread (fdesc, buf, blocksize); -+ ssize_t nread = iread_fnc (fdesc, buf, blocksize); - if (nread < 0) - { - if (fdesc == STDIN_FILENO) -@@ -1508,7 +1545,7 @@ dd_copy (void) - (conversions_mask & (C_BLOCK | C_UNBLOCK)) ? ' ' : '\0', - input_blocksize); - -- nread = iread (STDIN_FILENO, ibuf, input_blocksize); -+ nread = iread_fnc (STDIN_FILENO, ibuf, input_blocksize); - - if (nread == 0) - break; /* EOF. */ -diff --git a/tests/dd/misc b/tests/dd/misc -index d54fbfa..24e5eba 100755 ---- a/tests/dd/misc -+++ b/tests/dd/misc -@@ -88,6 +88,15 @@ fi - outbytes=`echo x | dd bs=3 ibs=10 obs=10 conv=sync 2>/dev/null | wc -c` - test "$outbytes" -eq 3 || fail=1 - -+(echo a; sleep .1; echo b) \ -+ | LC_ALL=C dd bs=4 status=noxfer iflag=fullblock >out 2>err || fail=1 -+echo "a -+b" > out_ok -+echo "1+0 records in -+1+0 records out" > err_ok -+compare out out_ok || fail=1 -+compare err err_ok || fail=1 -+ - test $fail -eq 0 && fail=$warn - - (exit $fail); exit $fail -diff -ruN coreutils-6.12.old/doc/coreutils.info coreutils-6.12/doc/coreutils.info ---- coreutils-6.12.old/doc/coreutils.info 2008-07-24 12:49:57.000000000 +0200 -+++ coreutils-6.12/doc/coreutils.info 2008-07-24 12:52:17.000000000 +0200 -@@ -6112,6 +6112,12 @@ - Use text I/O. Like `binary', this option has no effect on - standard platforms. - -+ 'fullblock' -+ Read full blocks from input if possible. read() may return -+ early if a full block is not available, so retry until data -+ is available or end of file is reached. This flag can be used -+ only for the iflag option. -+ - - These flags are not supported on all systems, and `dd' rejects - attempts to use them when they are not supported. When reading diff --git a/coreutils-6.12-ls-constant_mem.patch b/coreutils-6.12-ls-constant_mem.patch deleted file mode 100644 index 7643ee9..0000000 --- a/coreutils-6.12-ls-constant_mem.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: Kamil Dudka -Date: Wed, 30 Jul 2008 12:31:50 +0000 (+0200) -Subject: ls -U1 now uses constant memory -X-Git-Url: http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=commitdiff_plain;h=8d974b00fbbc2025de63e1e6d54827648fefa1c4 - -ls -U1 now uses constant memory - -When printing one name per line and not sorting, ls now uses -constant memory per directory, no matter how many files are in -the directory. -* ls.c (print_dir): Print each file name immediately, when possible. ---- - -diff --git a/src/ls.c b/src/ls.c -index 4b69f7d..a661c06 100644 ---- a/src/ls.c -+++ b/src/ls.c -@@ -2402,6 +2402,20 @@ print_dir (char const *name, char const *realname, bool command_line_arg) - #endif - total_blocks += gobble_file (next->d_name, type, D_INO (next), - false, name); -+ -+ /* In this narrow case, print out each name right away, so -+ ls uses constant memory while processing the entries of -+ this directory. Useful when there are many (millions) -+ of entries in a directory. */ -+ if (format == one_per_line && sort_type == sort_none) -+ { -+ /* We must call sort_files in spite of -+ "sort_type == sort_none" for its initialization -+ of the sorted_file vector. */ -+ sort_files (); -+ print_current_files (); -+ clear_files (); -+ } - } - } - else if (errno != 0) diff --git a/coreutils-6.12-ls-libcap.patch b/coreutils-6.12-ls-libcap.patch deleted file mode 100644 index 12e0170..0000000 --- a/coreutils-6.12-ls-libcap.patch +++ /dev/null @@ -1,257 +0,0 @@ -From 7634188624dc7f48c047b29fab3715dc7a468059 Mon Sep 17 00:00:00 2001 -From: Kamil Dudka -Date: Wed, 23 Jul 2008 09:52:05 +0200 -Subject: [PATCH] ls: --color now highlights files with capabilities, too -* configure.ac: New option: --disable-libcap. Check for libcap usability. -* src/Makefile.am (dir_LDADD, ls_LDADD, ...): Append $(LIB_CAP). -* src/ls.c: [HAVE_CAP] Include . -(has_capability): New function for capability detection. -(print_color_indicator): Colorize file with capability. -* src/dircolors.c: Update color lists. -* src/dircolors.hin: Mention new CAPABILITY color attribute. -* tests/ls/capability: Test for ls - colorize file with capability. -* tests/Makefile.am (TESTS): Add ls/capability. -* NEWS: Mention the change. - ---- - NEWS | 2 ++ - configure.ac | 13 +++++++++++++ - src/Makefile.am | 6 +++--- - src/dircolors.c | 4 ++-- - src/dircolors.hin | 1 + - src/ls.c | 43 +++++++++++++++++++++++++++++++++++++++++-- - tests/Makefile.am | 1 + - tests/ls/capability | 43 +++++++++++++++++++++++++++++++++++++++++++ - 8 files changed, 106 insertions(+), 7 deletions(-) - create mode 100755 tests/ls/capability - -diff -ruN coreutils-6.12.old/configure.ac coreutils-6.12/configure.ac ---- coreutils-6.12.old/configure.ac 2008-07-24 14:16:32.000000000 +0200 -+++ coreutils-6.12/configure.ac 2008-07-24 14:18:51.000000000 +0200 -@@ -58,6 +58,19 @@ - LIB_SELINUX="-lselinux" - AC_SUBST(LIB_SELINUX)]) - -+dnl Check whether libcap is usable -+AC_ARG_ENABLE([libcap], -+ AC_HELP_STRING([--disable-libcap], [disable libcap support]), -+ AC_MSG_WARN([libcap support disabled by user]), -+ [AC_CHECK_LIB([cap], [cap_get_file], -+ [AC_CHECK_HEADER([sys/capability.h], -+ [LIB_CAP="-lcap" AC_DEFINE(HAVE_CAP, 1, [libcap usability])], -+ [AC_MSG_WARN([header sys/capability.h was not found, support for libcap will not be built])] -+ )], -+ [AC_MSG_WARN([libcap library was not found or not usable, support for libcap will not be built])]) -+ ]) -+AC_SUBST([LIB_CAP]) -+ - AC_FUNC_FORK - - optional_bin_progs= -diff -ruN coreutils-6.12.orig/src/Makefile.am coreutils-6.12/src/Makefile.am ---- coreutils-6.12.orig/src/Makefile.am 2008-07-10 12:30:03.000000000 +0200 -+++ coreutils-6.12/src/Makefile.am 2008-07-24 13:18:43.000000000 +0200 -@@ -98,15 +98,15 @@ - - # for clock_gettime and fdatasync - dd_LDADD = $(LDADD) $(LIB_GETHRXTIME) $(LIB_FDATASYNC) --dir_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_SELINUX) -+dir_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_SELINUX) $(LIB_CAP) - id_LDADD = $(LDADD) $(LIB_SELINUX) --ls_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_SELINUX) -+ls_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_SELINUX) $(LIB_CAP) - mktemp_LDADD = $(LDADD) $(LIB_GETHRXTIME) - pr_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) - shred_LDADD = $(LDADD) $(LIB_GETHRXTIME) $(LIB_FDATASYNC) - shuf_LDADD = $(LDADD) $(LIB_GETHRXTIME) - tac_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) --vdir_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_SELINUX) -+vdir_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_SELINUX) $(LIB_CAP) - tac_LDADD = $(LDADD) $(LIB_CLOCK_GETTIME) - - ## If necessary, add -lm to resolve use of pow in lib/strtod.c. -diff --git a/src/dircolors.c b/src/dircolors.c -index 56194f7..79109b9 100644 ---- a/src/dircolors.c -+++ b/src/dircolors.c -@@ -63,14 +63,14 @@ static const char *const slack_codes[] = - "SYMLINK", "ORPHAN", "MISSING", "FIFO", "PIPE", "SOCK", "BLK", "BLOCK", - "CHR", "CHAR", "DOOR", "EXEC", "LEFT", "LEFTCODE", "RIGHT", "RIGHTCODE", - "END", "ENDCODE", "SUID", "SETUID", "SGID", "SETGID", "STICKY", -- "OTHER_WRITABLE", "OWR", "STICKY_OTHER_WRITABLE", "OWT", NULL -+ "OTHER_WRITABLE", "OWR", "STICKY_OTHER_WRITABLE", "OWT", "CAPABILITY", NULL - }; - - static const char *const ls_codes[] = - { - "no", "no", "fi", "rs", "di", "ln", "ln", "ln", "or", "mi", "pi", "pi", - "so", "bd", "bd", "cd", "cd", "do", "ex", "lc", "lc", "rc", "rc", "ec", "ec", -- "su", "su", "sg", "sg", "st", "ow", "ow", "tw", "tw", NULL -+ "su", "su", "sg", "sg", "st", "ow", "ow", "tw", "tw", "ca", NULL - }; - #define array_len(Array) (sizeof (Array) / sizeof *(Array)) - verify (array_len (slack_codes) == array_len (ls_codes)); -diff --git a/src/dircolors.hin b/src/dircolors.hin -index 38914c8..5137cc6 100644 ---- a/src/dircolors.hin -+++ b/src/dircolors.hin -@@ -77,6 +77,7 @@ CHR 40;33;01 # character device driver - ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file - SETUID 37;41 # file that is setuid (u+s) - SETGID 30;43 # file that is setgid (g+s) -+CAPABILITY 30;41 # file with capability - STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w) - 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 -diff --git a/src/ls.c b/src/ls.c -index 4b69f7d..9bc66a1 100644 ---- a/src/ls.c -+++ b/src/ls.c -@@ -38,6 +38,10 @@ - #include - #include - -+#ifdef HAVE_CAP -+# include -+#endif -+ - #if HAVE_TERMIOS_H - # include - #endif -@@ -513,14 +517,14 @@ enum indicator_no - C_LEFT, C_RIGHT, C_END, C_RESET, C_NORM, C_FILE, C_DIR, C_LINK, - C_FIFO, C_SOCK, - C_BLK, C_CHR, C_MISSING, C_ORPHAN, C_EXEC, C_DOOR, C_SETUID, C_SETGID, -- C_STICKY, C_OTHER_WRITABLE, C_STICKY_OTHER_WRITABLE -+ C_STICKY, C_OTHER_WRITABLE, C_STICKY_OTHER_WRITABLE, C_CAP - }; - - static const char *const indicator_name[]= - { - "lc", "rc", "ec", "rs", "no", "fi", "di", "ln", "pi", "so", - "bd", "cd", "mi", "or", "ex", "do", "su", "sg", "st", -- "ow", "tw", NULL -+ "ow", "tw", "ca", NULL - }; - - struct color_ext_type -@@ -553,6 +557,7 @@ static struct bin_str color_indicator[] = - { LEN_STR_PAIR ("37;44") }, /* st: sticky: black on blue */ - { LEN_STR_PAIR ("34;42") }, /* ow: other-writable: blue on green */ - { LEN_STR_PAIR ("30;42") }, /* tw: ow w/ sticky: black on green */ -+ { LEN_STR_PAIR ("30;41") }, /* ca: black on red */ - }; - - /* FIXME: comment */ -@@ -3896,6 +3901,38 @@ print_type_indicator (bool stat_ok, mode_t mode, enum filetype type) - DIRED_PUTCHAR (c); - } - -+#ifdef HAVE_CAP -+static bool -+/* Return true if NAME has a capability (see linux/capability.h) */ -+has_capability (const char *name) -+{ -+ cap_t cap_d; -+ char *result; -+ bool has_cap; -+ -+ cap_d = cap_get_file (name); -+ if (cap_d == NULL) -+ return false; -+ -+ result = cap_to_text (cap_d, NULL); -+ cap_free (cap_d); -+ if (!result) -+ return false; -+ -+ /* check if human-readable capability string is empty */ -+ has_cap = !!*result; -+ -+ cap_free (result); -+ return has_cap; -+} -+#else -+static bool -+has_capability (const char *name) -+{ -+ return false; -+} -+#endif -+ - /* Returns whether any color sequence was printed. */ - static bool - print_color_indicator (const char *name, mode_t mode, int linkok, -@@ -3923,6 +3960,8 @@ print_color_indicator (const char *name, mode_t mode, int linkok, - type = C_SETUID; - else if ((mode & S_ISGID) != 0) - type = C_SETGID; -+ else if (is_colored (C_CAP) && has_capability (name)) -+ type = C_CAP; - else if ((mode & S_IXUGO) != 0) - type = C_EXEC; - } -diff --git a/tests/Makefile.am b/tests/Makefile.am -index c2da630..309d174 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -313,6 +313,7 @@ TESTS = \ - ln/misc \ - ln/sf-1 \ - ln/target-1 \ -+ ls/capability \ - ls/color-dtype-dir \ - ls/dangle \ - ls/dired \ -diff --git a/tests/ls/capability b/tests/ls/capability -new file mode 100755 -index 0000000..549e06b ---- /dev/null -+++ b/tests/ls/capability -@@ -0,0 +1,43 @@ -+#!/bin/sh -+# Ensure "ls --color" properly colorizes file with capability. -+ -+# Copyright (C) 2008 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 . -+ -+if test "$VERBOSE" = yes; then -+ set -x -+ ls --version -+fi -+ -+. $srcdir/test-lib.sh -+require_root_ -+ -+(setcap --help) 2>&1 |grep 'usage: setcap' > /dev/null \ -+ || skip_test_ "setcap utility not found" -+fail=0 -+ -+# Don't let a different umask perturb the results. -+umask 22 -+ -+touch test -+setcap cap_net_bind_service=ep test \ -+ || framework_failure -+code='30;41' -+LS_COLORS="ca=$code" \ -+ ls --color=always test > out || fail=1 -+printf "\033[0m\033[${code}mtest\033[0m\n\033[m" > out_ok || fail=1 -+compare out out_ok || fail=1 -+ -+(exit $fail); exit $fail --- -1.5.4.1 - diff --git a/coreutils-6.12-seqdecimalutf8.patch b/coreutils-6.12-seqdecimalutf8.patch deleted file mode 100644 index 1436acf..0000000 --- a/coreutils-6.12-seqdecimalutf8.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -urNp coreutils-6.12-orig/src/seq.c coreutils-6.12/src/seq.c ---- coreutils-6.12-orig/src/seq.c 2008-05-26 08:40:32.000000000 +0200 -+++ coreutils-6.12/src/seq.c 2008-09-29 22:09:21.000000000 +0200 -@@ -304,7 +304,10 @@ print_numbers (char const *fmt, struct l - bool print_extra_number = false; - long double x_val; - char *x_str; -- int x_strlen = asprintf (&x_str, fmt, x); -+ int x_strlen; -+ setlocale (LC_NUMERIC, "C"); -+ x_strlen = asprintf (&x_str, fmt, x); -+ setlocale (LC_NUMERIC, ""); - if (x_strlen < 0) - xalloc_die (); - x_str[x_strlen - layout.suffix_len] = '\0'; diff --git a/coreutils-6.12-utimenstouchcp.patch b/coreutils-6.12-utimenstouchcp.patch deleted file mode 100644 index 4e90583..0000000 --- a/coreutils-6.12-utimenstouchcp.patch +++ /dev/null @@ -1,89 +0,0 @@ -diff -Naurp coreutils-6.12.orig/lib/utimens.c coreutils-6.12/lib/utimens.c ---- coreutils-6.12.orig/lib/utimens.c 2008-10-06 16:21:11.000000000 -0400 -+++ coreutils-6.12/lib/utimens.c 2008-10-06 16:26:33.000000000 -0400 -@@ -103,6 +103,18 @@ gl_futimens (int fd ATTRIBUTE_UNUSED, - if (fd < 0) - { - int result = utimensat (AT_FDCWD, file, timespec, 0); -+# ifdef __linux__ -+ /* Work around xen kernel bug: -+ http://bugzilla.redhat.com/442352 -+ http://bugzilla.redhat.com/449910 -+ When running on a sufficiently old (pre-RHEL5.3) x86_64 xen -+ kernel, utimensat can mistakenly return its syscall number (280 on -+ x86_64) rather than the proper ENOSYS code, due to a xen bug. -+ FIXME: remove in 2010 or whenever the offending kernels -+ are no longer in common use. */ -+ if (0 < result) -+ errno = ENOSYS; -+# endif - if (result == 0 || errno != ENOSYS) - return result; - } -@@ -110,6 +122,18 @@ gl_futimens (int fd ATTRIBUTE_UNUSED, - #if HAVE_FUTIMENS - { - int result = futimens (fd, timespec); -+# ifdef __linux__ -+ /* Work around xen kernel bug: -+ http://bugzilla.redhat.com/442352 -+ http://bugzilla.redhat.com/449910 -+ When running on a sufficiently old (pre-RHEL5.3) x86_64 xen -+ kernel, utimensat can mistakenly return its syscall number (280 on -+ x86_64) rather than the proper ENOSYS code, due to a xen bug. -+ FIXME: remove in 2010 or whenever the offending kernels -+ are no longer in common use. */ -+ if (0 < result) -+ errno = ENOSYS; -+# endif - if (result == 0 || errno != ENOSYS) - return result; - } -diff -Naurp coreutils-6.12.orig/tests/Makefile.am coreutils-6.12/tests/Makefile.am ---- coreutils-6.12.orig/tests/Makefile.am 2008-10-06 16:21:11.000000000 -0400 -+++ coreutils-6.12/tests/Makefile.am 2008-10-06 16:22:04.000000000 -0400 -@@ -215,6 +215,7 @@ TESTS = \ - misc/tty-eof \ - misc/unexpand \ - misc/uniq \ -+ misc/utimensat-touchcp \ - chmod/c-option \ - chmod/equal-x \ - chmod/equals \ -diff -Naurp coreutils-6.12.orig/tests/misc/utimensat-touchcp coreutils-6.12/tests/misc/utimensat-touchcp ---- coreutils-6.12.orig/tests/misc/utimensat-touchcp 1969-12-31 19:00:00.000000000 -0500 -+++ coreutils-6.12/tests/misc/utimensat-touchcp 2008-10-06 16:22:04.000000000 -0400 -@@ -0,0 +1,33 @@ -+#!/bin/sh -+# Make sure touch -r and cp -pr works without hanging. -+ -+if test "$VERBOSE" = yes; then -+ set -x -+ touch --version -+ cp --version -+fi -+ -+. $srcdir/test-lib.sh -+ -+touch a.old || framework_failure -+sleep 1 -+ -+fail=0 -+ -+#check for touch -+touch -r a.old a || fail=1 -+ls -l --full-time a >time1 -+ls -l --full-time a.old >time2 -+sed -i 's/a.old/a/' time2 -+cmp time1 time2 > /dev/null 2>&1 || fail=1 -+test $fail = 1 && diff time1 time2 2> /dev/null -+ -+#check for cp -+cp -pr a.old b || fail=1 -+ls -l --full-time a >time1 -+ls -l --full-time a.old >time2 -+sed -i 's/a.old/a/' time2 -+cmp time1 time2 > /dev/null 2>&1 || fail=1 -+test $fail = 1 && diff time1 time2 2> /dev/null -+ -+(exit $fail); exit $fail diff --git a/coreutils-7.0-dftotal.patch b/coreutils-7.0-dftotal.patch new file mode 100644 index 0000000..a719263 --- /dev/null +++ b/coreutils-7.0-dftotal.patch @@ -0,0 +1,112 @@ +diff -urNp coreutils-7.0-orig/tests/df/total coreutils-7.0/tests/df/total +--- coreutils-7.0-orig/tests/df/total 2008-09-27 19:28:54.000000000 +0200 ++++ coreutils-7.0/tests/df/total 2008-11-11 16:56:17.000000000 +0100 +@@ -30,11 +30,8 @@ umask 22 + + RE_TOTAL='^total( +(-?[0-9]+|-)){3} +-?[0-9]+%$' + +-df > tmp || fail=1 +-$EGREP "$RE_TOTAL" tmp && fail=1 +- +-df -i > tmp || fail=1 +-$EGREP "$RE_TOTAL" tmp && fail=1 ++df | $EGREP "$RE_TOTAL" tmp && fail=1 ++df -i | $EGREP "$RE_TOTAL" tmp && fail=1 + + df --total | $EGREP "$RE_TOTAL" || fail=1 + df -i --total | $EGREP "$RE_TOTAL" || fail=1 +diff -urNp coreutils-7.0-orig/tests/df/total-awk coreutils-7.0/tests/df/total-awk +--- coreutils-7.0-orig/tests/df/total-awk 2008-09-27 19:28:54.000000000 +0200 ++++ coreutils-7.0/tests/df/total-awk 2008-11-11 16:54:49.000000000 +0100 +@@ -23,58 +23,42 @@ fi + + . $srcdir/test-lib.sh + +-fail=0 +- +-# Don't let a different umask perturb the results. +-umask 22 +- +-echo ' +-BEGIN { +- total = 0 +- used = 0 +- available = 0 +-} +-{ +- if (NR==1 || $0==$1 || $0~/^total +(-?[0-9]+|-) +(-?[0-9]+|-) +(-?[0-9]+|-) +-?[0-9]+%$/) +- next +- if ($1~/^[0-9]/) +- { +- total += $1 +- used += $2 +- available += $3 +- } +- else +- { +- total += $2 +- used += $3 +- available += $4 +- } +-} +-END { +- print total +- print used +- print available +-} +-' > compute_sum.awk || fail=1 +- +-echo ' +-/^total +(-?[0-9]+|-) +(-?[0-9]+|-) +(-?[0-9]+|-) +-?[0-9]+%$/ { +- print $2; +- print $3; +- print $4 +-} +-' > parse_total.awk || fail=1 ++cat <<\EOF > check-df || framework_failure ++my ($total, $used, $avail) = (0, 0, 0); ++while (<>) ++ { ++ $. == 1 ++ and next; # skip first (header) line ++ # Recognize df output lines like these: ++ # /dev/sdc1 0 0 0 - /c ++ # tmpfs 1536000 12965 1523035 1% /tmp ++ # total 5285932 787409 4498523 15% ++ /^(.*?) +(-?\d+|-) +(-?\d+|-) +(-?\d+|-) +(?:- |[0-9]+%)(.*)$/ ++ or die "$0: invalid input line\n: $_"; ++ if ($1 eq 'total' && $5 eq '') ++ { ++ $total == $2 or die "$total != $2"; ++ $used == $3 or die "$used != $3"; ++ $avail == $4 or die "$avail != $4"; ++ my $line = <>; ++ defined $line ++ and die "$0: extra line(s) after totals\n"; ++ exit 0; ++ } ++ $total += $2 unless $2 eq '-'; ++ $used += $3 unless $3 eq '-'; ++ $avail += $4 unless $4 eq '-'; ++ } ++die "$0: missing line of totals\n"; ++EOF + + # Use --block-size=512 to keep df from printing rounded-to-kilobyte + # numbers which wouldn't necessarily add up to the displayed total. +-df --block-size=512 --total |tee tmp || fail=1 +-$AWK -f compute_sum.awk tmp > out1 || fail=1 +-$AWK -f parse_total.awk tmp > out2 || fail=1 +-compare out1 out2 || fail=1 ++df --total -P --block-size=512 |tee space || framework_failure ++df --total -i -P |tee inode || framework_failure + +-df -i --block-size=512 --total |tee tmp || fail=1 +-$AWK -f compute_sum.awk tmp > out1 || fail=1 +-$AWK -f parse_total.awk tmp > out2 || fail=1 +-compare out1 out2 || fail=1 ++fail=0 ++$PERL -f check-df space || fail=1 ++$PERL -f check-df inode || fail=1 + + Exit $fail diff --git a/coreutils-authors.patch b/coreutils-authors.patch deleted file mode 100644 index ec76fe0..0000000 --- a/coreutils-authors.patch +++ /dev/null @@ -1,61 +0,0 @@ -Signed-off-by: Ondřej Vašík -Signed-off-by: Jim Meyering - -* src/echo.c (AUTHORS) : Use bash builtin echo authors instead of FIXME unknown -* src/basename.c (AUTHORS): List David as the author. -* AUTHORS: Update here, too. ---- - AUTHORS | 4 ++-- - src/basename.c | 2 +- - src/echo.c | 4 +++- - 3 files changed, 6 insertions(+), 4 deletions(-) -diff --git a/src/basename.c b/src/basename.c -index 38e8879..69b708f 100644 ---- a/src/basename.c -+++ b/src/basename.c -@@ -37,7 +37,7 @@ - /* The official name of this program (e.g., no `g' prefix). */ - #define PROGRAM_NAME "basename" - --#define AUTHORS proper_name ("FIXME unknown") -+#define AUTHORS proper_name ("David MacKenzie") - - /* The name this program was run with. */ - char *program_name; -diff --git a/AUTHORS b/AUTHORS -index 404cf70..666edc1 100644 ---- a/AUTHORS -+++ b/AUTHORS -@@ -3,7 +3,7 @@ each followed by the name(s) of its author(s). - - arch: David MacKenzie, Karel Zak - base64: Simon Josefsson --basename: FIXME unknown -+basename: David MacKenzie - cat: Torbjörn Granlund, Richard M. Stallman - chcon: Russell Coker, Jim Meyering - chgrp: David MacKenzie, Jim Meyering -@@ -22,7 +22,7 @@ dir: Richard M. Stallman, David MacKenzie - dircolors: H. Peter Anvin - dirname: David MacKenzie, Jim Meyering - du: Torbjörn Granlund, David MacKenzie, Paul Eggert, Jim Meyering --echo: FIXME unknown -+echo: Brian Fox, Chet Ramey - env: Richard Mlynarik, David MacKenzie - expand: David MacKenzie - expr: Mike Parker -diff --git a/src/echo.c b/src/echo.c -index ebbf5b8..11e648e 100644 ---- a/src/echo.c -+++ b/src/echo.c -@@ -24,7 +24,9 @@ - /* The official name of this program (e.g., no `g' prefix). */ - #define PROGRAM_NAME "echo" - --#define AUTHORS proper_name ("FIXME unknown") -+#define AUTHORS \ -+ proper_name ("Brian Fox"), \ -+ proper_name ("Chet Ramey") - - /* echo [-neE] [arg ...] - Output the ARGs. If -n is specified, the trailing newline is diff --git a/coreutils-futimensatkoji.patch b/coreutils-futimensatkoji.patch deleted file mode 100644 index f00b8f0..0000000 --- a/coreutils-futimensatkoji.patch +++ /dev/null @@ -1,119 +0,0 @@ -From b566edc2489a889d97416d2390be7796aa8cdbeb Mon Sep 17 00:00:00 2001 -From: Eric Blake -Date: Mon, 2 Jun 2008 15:08:14 -0600 -Subject: [PATCH] Provide futimens/utimensat fallbacks for older kernels. - -* lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]: -Provide runtime fallback if kernel lacks support. -Reported by Mike Frysinger. - -Signed-off-by: Eric Blake ---- - lib/utimens.c | 43 ++++++++++++++++++++++++++----------------- - 1 file changed, 26 insertions(+), 17 deletions(-) - -diff --git a/lib/utimens.c b/lib/utimens.c -index 25bc965..134310b 100644 ---- a/lib/utimens.c -+++ b/lib/utimens.c -@@ -96,20 +96,30 @@ gl_futimens (int fd ATTRIBUTE_UNUSED, - #endif - - /* POSIX 200x added two interfaces to set file timestamps with -- nanosecond resolution. */ -+ nanosecond resolution. We provide a fallback for ENOSYS (for -+ example, compiling against Linux 2.6.25 kernel headers and glibc -+ 2.7, but running on Linux 2.6.18 kernel). */ - #if HAVE_UTIMENSAT - if (fd < 0) -- return utimensat (AT_FDCWD, file, timespec, 0); -+ { -+ int result = utimensat (AT_FDCWD, file, timespec, 0); -+ if (result == 0 || errno != ENOSYS) -+ return result; -+ } - #endif - #if HAVE_FUTIMENS -- return futimens (fd, timespec); --#else -+ { -+ int result = futimens (fd, timespec); -+ if (result == 0 || errno != ENOSYS) -+ return result; -+ } -+#endif - - /* The platform lacks an interface to set file timestamps with - nanosecond resolution, so do the best we can, discarding any - fractional part of the timestamp. */ - { --# if HAVE_FUTIMESAT || HAVE_WORKING_UTIMES -+#if HAVE_FUTIMESAT || HAVE_WORKING_UTIMES - struct timeval timeval[2]; - struct timeval const *t; - if (timespec) -@@ -125,9 +135,9 @@ gl_futimens (int fd ATTRIBUTE_UNUSED, - - if (fd < 0) - { --# if HAVE_FUTIMESAT -+# if HAVE_FUTIMESAT - return futimesat (AT_FDCWD, file, t); --# endif -+# endif - } - else - { -@@ -141,21 +151,21 @@ gl_futimens (int fd ATTRIBUTE_UNUSED, - worth optimizing, and who knows what other messed-up systems - are out there? So play it safe and fall back on the code - below. */ --# if HAVE_FUTIMESAT -+# if HAVE_FUTIMESAT - if (futimesat (fd, NULL, t) == 0) - return 0; --# elif HAVE_FUTIMES -+# elif HAVE_FUTIMES - if (futimes (fd, t) == 0) - return 0; --# endif -+# endif - } --# endif /* HAVE_FUTIMESAT || HAVE_WORKING_UTIMES */ -+#endif /* HAVE_FUTIMESAT || HAVE_WORKING_UTIMES */ - - if (!file) - { --# if ! (HAVE_FUTIMESAT || (HAVE_WORKING_UTIMES && HAVE_FUTIMES)) -+#if ! (HAVE_FUTIMESAT || (HAVE_WORKING_UTIMES && HAVE_FUTIMES)) - errno = ENOSYS; --# endif -+#endif - - /* Prefer EBADF to ENOSYS if both error numbers apply. */ - if (errno == ENOSYS) -@@ -170,9 +180,9 @@ gl_futimens (int fd ATTRIBUTE_UNUSED, - return -1; - } - --# if HAVE_WORKING_UTIMES -+#if HAVE_WORKING_UTIMES - return utimes (file, t); --# else -+#else - { - struct utimbuf utimbuf; - struct utimbuf const *ut; -@@ -187,9 +197,8 @@ gl_futimens (int fd ATTRIBUTE_UNUSED, - - return utime (file, ut); - } --# endif /* !HAVE_WORKING_UTIMES */ -+#endif /* !HAVE_WORKING_UTIMES */ - } --#endif /* !HAVE_FUTIMENS */ - } - - /* Set the access and modification time stamps of FILE to be --- -1.5.5.1 diff --git a/coreutils-getfacl-exit-code.patch b/coreutils-getfacl-exit-code.patch index 837c19d..5a04525 100644 --- a/coreutils-getfacl-exit-code.patch +++ b/coreutils-getfacl-exit-code.patch @@ -20,4 +20,4 @@ +acl2=`cd b && getfacl file` test "$acl1" = "$acl2" || fail=1 - (exit $fail); exit $fail + Exit $fail diff --git a/coreutils-i18n.patch b/coreutils-i18n.patch index 2f48694..832eadc 100644 --- a/coreutils-i18n.patch +++ b/coreutils-i18n.patch @@ -90,14 +90,14 @@ diff -urN coreutils-6.12-orig/tests/Makefile.am coreutils-6.12/tests/Makefile.am --- coreutils-6.12-orig/tests/Makefile.am 2008-05-27 13:47:53.000000000 +0200 +++ coreutils-6.12/tests/Makefile.am 2008-06-02 10:06:03.000000000 +0200 -@@ -191,6 +191,7 @@ - misc/shuf \ +@@ -192,6 +192,7 @@ misc/sort \ misc/sort-compress \ + misc/sort-files0-from \ + misc/sort-mb-tests \ misc/sort-merge \ misc/sort-rand \ - misc/split-a \ + misc/sort-version \ @@ -391,6 +392,10 @@ $(root_tests) @@ -541,8 +541,8 @@ diff -urN coreutils-6.12-orig/tests/Makefile.am coreutils-6.12/tests/Makefile.am +} +#endif + - static struct line * - dup_line (const struct line *old) + static void + freeline (struct line *line) { @@ -377,11 +601,18 @@ @@ -865,13 +865,13 @@ diff -urNp coreutils-6.11-orig/src/join.c coreutils-6.11/src/join.c return a pointer to the beginning of the line's field to be compared. */ static char * --find_field (const struct linebuffer *line) +-find_field (struct linebuffer const *line) +find_field_uni (struct linebuffer *line) { size_t count; - char *lp = line->buffer; + char const *lp = line->buffer; @@ -219,6 +245,83 @@ - return lp + i; + return line->buffer + i; } +#if HAVE_MBRTOWC @@ -1214,7 +1214,7 @@ diff -urNp coreutils-6.11-orig/src/join.c coreutils-6.11/src/join.c #define TAB_WIDTH 8 /* The official name of this program (e.g., no `g' prefix). */ -@@ -35,23 +57,44 @@ +@@ -35,20 +57,41 @@ #define AUTHORS proper_name ("David MacKenzie") @@ -1238,9 +1238,6 @@ diff -urNp coreutils-6.11-orig/src/join.c coreutils-6.11/src/join.c + character_mode, +}; + - /* The name this program was run with. */ - char *program_name; - +/* The argument shows current mode. (Default: column_mode) */ +static enum operating_mode operating_mode; + @@ -1735,7 +1732,7 @@ diff -urNp coreutils-6.11-orig/src/join.c coreutils-6.11/src/join.c if (hard_LC_TIME) { @@ -1031,6 +1100,64 @@ - #endif + xstrtol_fatal (e, oi, c, long_options, s); } +#if HAVE_MBRTOWC @@ -3900,7 +3897,7 @@ diff -urNp coreutils-6.11-orig/src/join.c coreutils-6.11/src/join.c + size_t delimlen = 0; initialize_main (&argc, &argv); - program_name = argv[0]; + set_program_name (argv[0]); @@ -770,7 +1090,6 @@ switch (optc) { @@ -4025,10 +4022,10 @@ diff -urNp coreutils-6.11-orig/src/join.c coreutils-6.11/src/join.c diff -urNp coreutils-6.12/src/join.c coreutils-6.12-orig/src/join.c --- coreutils-6.12/src/join.c 2008-07-16 14:08:01.000000000 +0200 +++ coreutils-6.12-orig/src/join.c 2008-07-16 14:07:02.000000000 +0200 -@@ -489,6 +489,11 @@ get_line (FILE *fp, struct line *line, i - line->nfields_allocated = 0; - line->nfields = 0; - line->fields = NULL; +@@ -634,6 +634,11 @@ get_line (FILE *fp, struct line *line, i + return false; + } + +#if HAVE_MBRTOWC + if (MB_CUR_MAX > 1) + xfields_multibyte (line); diff --git a/coreutils-pam.patch b/coreutils-pam.patch index 7774cf6..7825b25 100644 --- a/coreutils-pam.patch +++ b/coreutils-pam.patch @@ -66,8 +66,8 @@ ATTRIBUTE_NORETURN; +#endif - /* The name this program was run with. */ - char *program_name; + /* If true, pass the `-f' option to the subshell. */ + static bool fast_startup; @@ -225,7 +251,26 @@ } #endif @@ -401,8 +401,8 @@ -might find this idea strange at first. - - - @node Process control - @chapter Process control + @node timeout invocation + @section @command{timeout}: Run a command with a time limit --- coreutils-6.7/configure.ac.pam 2006-12-07 21:30:24.000000000 +0000 +++ coreutils-6.7/configure.ac 2007-01-09 17:18:04.000000000 +0000 diff --git a/coreutils-selinux.patch b/coreutils-selinux.patch index 56b17f8..41b396c 100644 --- a/coreutils-selinux.patch +++ b/coreutils-selinux.patch @@ -37,20 +37,6 @@ diff -urNp coreutils-6.12-orig/man/runcon.x coreutils-6.12/man/runcon.x diff -urNp coreutils-6.12-orig/src/chcon.c coreutils-6.12/src/chcon.c --- coreutils-6.12-orig/src/chcon.c 2008-05-26 08:40:32.000000000 +0200 +++ coreutils-6.12/src/chcon.c 2008-06-16 14:43:24.000000000 +0200 -@@ -302,9 +302,11 @@ process_file (FTS *fts, FTSENT *ent) - - if (ok) - { -- if (verbose) -- printf (_("changing security context of %s"), -+ if (verbose) { -+ printf (_("changing security context of %s"), - quote (file_full_name)); -+ putchar ('\n'); -+ } - - if (change_file_context (fts->fts_cwd_fd, file) != 0) - ok = false; @@ -352,7 +352,7 @@ Usage: %s [OPTION]... CONTEXT FILE...\n\ "), program_name, program_name, program_name); @@ -209,8 +195,8 @@ diff -urp coreutils-6.10-orig/src/cp.c coreutils-6.10/src/cp.c sparse_type_string, sparse_type); break; -- case 'a': /* Like -dpPR. */ -+ case 'a': /* Like -dpPRc. */ +- case 'a': /* Like -dpR. */ ++ case 'a': /* Like -dpRc. */ x.dereference = DEREF_NEVER; x.preserve_links = true; x.preserve_ownership = true; @@ -296,8 +282,8 @@ diff -urp coreutils-6.10-orig/src/install.c coreutils-6.10/src/install.c - {"preserve_context", no_argument, NULL, PRESERVE_CONTEXT_OPTION}, + {"preserve_context", no_argument, NULL, 'P'}, {"strip", no_argument, NULL, 's'}, + {"strip-program", required_argument, NULL, STRIP_PROGRAM_OPTION}, {"suffix", required_argument, NULL, 'S'}, - {"target-directory", required_argument, NULL, 't'}, @@ -178,6 +178,7 @@ cp_option_init (struct cp_options *x) x->preserve_timestamps = false; x->require_preserve = false; @@ -324,7 +310,7 @@ diff -urp coreutils-6.10-orig/src/install.c coreutils-6.10/src/install.c if ( ! selinux_enabled) { @@ -415,6 +417,10 @@ main (int argc, char **argv) - "this kernel is not SELinux-enabled.")); + "this kernel is not SELinux-enabled")); break; } + if ( x.set_security_context ) { @@ -384,8 +370,8 @@ diff -urp coreutils-6.10-orig/src/ls.c coreutils-6.10/src/ls.c void usage (int status); +static void print_scontext_format (const struct fileinfo *f); - /* The name this program was run with. */ - char *program_name; + /* Initial size of hash table. + Most hierarchies are likely to be shallower than this. */ @@ -314,7 +316,7 @@ static struct pending *pending_dirs; static struct timespec current_time; @@ -871,14 +857,18 @@ diff -urp coreutils-6.10-orig/src/stat.c coreutils-6.10/src/stat.c char *format = NULL; bool ok = true; -@@ -1040,9 +1071,13 @@ main (int argc, char *argv[]) +@@ -1040,13 +1071,13 @@ main (int argc, char *argv[]) terse = true; break; -- case 'Z': /* FIXME: remove in 2010, warn in mid 2008 */ -- /* Ignored, for compatibility with distributions -- that implemented this before upstream. */ -+ case 'Z': +- case 'Z': /* FIXME: remove in 2010 */ +- /* Ignore, for compatibility with distributions +- that implemented this before upstream. +- But warn of impending removal. */ +- error (0, 0, +- _("the --context (-Z) option is obsolete and will be removed\n" +- "in a future release")); ++ case 'Z': + if((is_selinux_enabled()>0)) + secure = 1; + else { diff --git a/coreutils-who_texinfo.patch b/coreutils-who_texinfo.patch deleted file mode 100644 index eb376e7..0000000 --- a/coreutils-who_texinfo.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 63467fa18794f02497c7a46e3b7783ba1180f8fc Mon Sep 17 00:00:00 2001 -From: Jim Meyering -Date: Fri, 4 Jul 2008 16:34:39 +0200 -Subject: [PATCH] who -r: don't print "last=" when the corresponding byte is unprintable - -* src/who.c (print_runlevel): Print last=%c only when the "preceding -run-level" byte is printable. Reported by Gian Piero De Lolliis in -. ---- - src/who.c | 3 ++- - 1 files changed, 2 insertions(+), 1 deletions(-) - -diff --git a/src/who.c b/src/who.c -index 5529618..0bba912 100644 ---- a/src/who.c -+++ b/src/who.c -@@ -30,6 +30,7 @@ - #include - #include "system.h" - -+#include "c-ctype.h" - #include "canon-host.h" - #include "readutmp.h" - #include "error.h" -@@ -511,7 +512,7 @@ print_runlevel (const STRUCT_UTMP *utmp_ent) - sprintf (comment, "%s%c", _("last="), (last == 'N') ? 'S' : last); - - print_line (-1, "", ' ', -1, runlevline, time_string (utmp_ent), -- "", "", comment, ""); -+ "", "", c_isprint (last) ? comment : "", ""); - - return; - } --- -1.5.6.1.206.g8dcaf96 - -From 10db2e5e05c67eea205b3ec76a2408f46356a7fd Mon Sep 17 00:00:00 2001 -From: =?utf-8?q?Ond=C5=99ej=20Va=C5=A1=C3=ADk?= -Date: Wed, 2 Jul 2008 14:11:05 +0200 -Subject: [PATCH] doci: describe who's -p -r and -t options - -* doc/coreutils.texi (who invocation): ---- - doc/coreutils.texi | 18 ++++++++++++++++++ - 1 files changed, 18 insertions(+), 0 deletions(-) - -diff --git a/doc/coreutils.texi b/doc/coreutils.texi -index 155ba8d..c0ea237 100644 ---- a/doc/coreutils.texi -+++ b/doc/coreutils.texi -@@ -12710,6 +12710,24 @@ automatic dial-up internet access. - @opindex --heading - Print a line of column headings. - -+@item -p -+@itemx --process -+@opindex -p -+@opindex --process -+List active processes spawned by init. -+ -+@item -r -+@itemx --runlevel -+@opindex -r -+@opindex --runlevel -+Print the current (and maybe previous) run-level of the init process. -+ -+@item -t -+@itemx --time -+@opindex -t -+@opindex --time -+Print last system clock change. -+ - @item -w - @itemx -T - @itemx --mesg --- -1.5.2.2 - diff --git a/coreutils.spec b/coreutils.spec index 1ede2a4..e16d3d7 100644 --- a/coreutils.spec +++ b/coreutils.spec @@ -1,7 +1,7 @@ Summary: The GNU core utilities: a set of tools commonly used in shell scripts Name: coreutils -Version: 6.12 -Release: 17%{?dist} +Version: 7.0 +Release: 1%{?dist} License: GPLv3+ Group: System Environment/Base Url: http://www.gnu.org/software/coreutils/ @@ -18,21 +18,14 @@ Source202: coreutils-su-l.pamd Source203: coreutils-runuser-l.pamd # From upstream -Patch1: coreutils-futimensatkoji.patch -Patch2: coreutils-authors.patch -Patch3: coreutils-who_texinfo.patch -Patch4: coreutils-6.12-date_timerelsnumber.patch -Patch5: coreutils-6.12-seqdecimalutf8.patch -Patch6: coreutils-6.12-catch-known-testsuite-failures.patch -Patch7: coreutils-446294-lsexitstatuses.patch +Patch1: coreutils-446294-lsexitstatuses.patch +Patch2: coreutils-7.0-dftotal.patch # Our patches Patch100: coreutils-6.10-configuration.patch Patch101: coreutils-6.10-manpages.patch #Patch102: coreutils-6.10-longoptions.patch Patch103: coreutils-6.11-sparc-shafix.patch -Patch104: coreutils-6.12-utimenstouchcp.patch -Patch105: coreutils-6.12-dd-fullblock.patch # sh-utils Patch703: sh-utils-2.0.11-dateman.patch @@ -60,10 +53,6 @@ Patch950: coreutils-selinux.patch Patch951: coreutils-selinuxmanpages.patch Patch952: coreutils-463883-chcon-changes.patch -# ls enhancements (must be applied after SELINUX patches) -Patch954: coreutils-6.12-ls-libcap.patch -Patch955: coreutils-6.12-ls-constant_mem.patch - BuildRequires: libselinux-devel >= 1.25.6-1 BuildRequires: libacl-devel BuildRequires: gettext bison @@ -107,24 +96,21 @@ These are the GNU core utilities. This package is the combination of the old GNU fileutils, sh-utils, and textutils packages. %prep -%setup -q +#%setup -q +%setup -q -c -T +cd .. +lzma -dc %SOURCE0 | tar xf - +cd %name-%version # From upstream -%patch1 -p1 -b .kojifutimensat -%patch2 -p1 -b .authors -%patch3 -p1 -b .whotexinfo -%patch4 -p1 -b .getdate -%patch5 -p1 -b .sequtf8 -%patch6 -p1 -b .tests -%patch7 -p1 -b .lsexit +%patch1 -p1 -b .lsexit +%patch2 -p1 -b .dftotal # Our patches %patch100 -p1 -b .configure %patch101 -p1 -b .manpages #%patch102 -p1 -b .longopt %patch103 -p1 -b .sparc -%patch104 -p1 -b .utimensat -%patch105 -p1 -b .dd-fullblock # sh-utils %patch703 -p1 -b .dateman @@ -141,22 +127,21 @@ the old GNU fileutils, sh-utils, and textutils packages. %patch908 -p1 -b .getgrouplist %patch912 -p1 -b .overflow %patch915 -p1 -b .splitl -%patch916 -p1 -b .getfacl-exit-code +#%patch916 -p1 -b .getfacl-exit-code #SELinux %patch950 -p1 -b .selinux %patch951 -p1 -b .selinuxman %patch952 -p1 -b .changeonly -# ls enhancements (must be applied after SELINUX patches) -%patch954 -p1 -b .ls-libcap -%patch955 -p1 -b .ls-constant_mem - - chmod a+x tests/misc/sort-mb-tests chmod a+x tests/misc/id-context -chmod a+x tests/misc/utimensat-touchcp -chmod a+x tests/ls/capability + +#Do require automake 1.10.1 instead of 1.10a +for conffile in aclocal.m4 configure.ac configure $(find ./*/Makefile.in) +do + sed -i 's/1.10a/1.10.1/' "$conffile" +done #fix typos/mistakes in localized documentation(#439410, #440056) for pofile in $(find ./po/*.p*) @@ -169,9 +154,9 @@ done %build %ifarch s390 s390x # Build at -O1 for the moment (bug #196369). -export CFLAGS="$RPM_OPT_FLAGS -fPIC -O1" +export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fPIC -O1" %else -export CFLAGS="$RPM_OPT_FLAGS -fpic" +export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fpic" %endif %{expand:%%global optflags %{optflags} -D_GNU_SOURCE=1} touch aclocal.m4 configure config.hin Makefile.in */Makefile.in @@ -339,6 +324,11 @@ fi /sbin/runuser %changelog +* Tue Nov 11 2008 Ondrej Vasik - 7.0-1 +- new upstream release +- modification/removal of related patches +- use automake 1.10.1 instead of 1.10a + * Mon Nov 03 2008 Ondrej Vasik - 6.12-17 - Requires: ncurses (#469277)