X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=TODO;h=0321768afc297d6500b6832aa50f1a054631765f;hb=ef6a361a079fbf03950cc405a1ce92c3447563ef;hp=233fffa715c3249da68db02a4619ac2914b89f09;hpb=4d6314bb53664c8e323132b0d5022e7a83c398a0;p=platform%2Fupstream%2Fcoreutils.git diff --git a/TODO b/TODO index 233fffa..0321768 100644 --- a/TODO +++ b/TODO @@ -1,18 +1,54 @@ -restore djgpp, eventually -merge TODO lists -add unit tests for lib/*.c -rewrite lib/ftw.c not to use explicit recursion, and then use nftw in - chown, chgrp, chmod, du - -strip: add an option to specify the program used to strip binaries. +If you're interested in helping, here are some tasks that we've considered +over the years. Beware: some are quite old and no longer valid. To avoid +wasting your time by duplicating work or by working on a task that is no +longer pertinent, please search the mailing list and post your intent +before embarking on a big project. + +================================================== +Modify chmod so that it does not change an inode's st_ctime + when the selected operation would have no other effect. + First suggested by Hans Ecke in + http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/2920 + Discussed more recently on . + +document the following in coreutils.texi: + runcon + chcon + mktemp + [ + pinky +Also document the SELinux changes. + +Suggestion from Paul Eggert: + More generally, there's not that much use for imaxtostr nowadays, + since the inttypes module and newer versions of gettext allow things + like _("truncating %s at %" PRIdMAX " bytes") to work portably. + I suspect that (if someone cares to take the time) we can remove + all instances of imaxtostr and umaxtostr in coreutils and gnulib. + +cp --recursive: use fts and *at functions to perform directory traversals + in source and destination hierarchy rather than forming full file names. + The latter (current) approach fails unnecessarily when the names + become very long, and requires space and time that is quadratic in the + depth of the hierarchy. [Bo Borgerson is working on this] + +printf: + Now that gnulib supports *printf("%a"), import one of the + *printf-posix modules so that printf(1) will support %a even on + platforms where the native *printf(3) is deficient. + Suggestion from Eric Blake. + +renice: POSIX utility, needs implementing. + suggestion from Karl Berry (among others). + Bob Proulx is working on this. + +install: add an option to specify the program used to strip binaries. suggestion from Karl Berry doc/coreutils.texi: Address this comment: FIXME: mv's behavior in this case is system-dependent Better still: fix the code so it's *not* system-dependent. -implement --target-directory=DIR for install (per texinfo documentation) - ls: add --format=FORMAT option that controls how each line is printed. cp --no-preserve=X should not attempt to preserve attribute X @@ -23,28 +59,12 @@ And once that's done, add an exclusion so that `cp --link' no longer incurs the overhead of saving src. dev/ino and dest. filename in the hash table. -Apply suggestion from Paul Jarc to use something along the -lines of http://cr.yp.to/daemontools/setuidgid.html to avoid -kludges (as in tests/rm/fail-2eperm) when running tests as root. - -See if we can be consistent about where --verbose sends its output: - These all send --verbose output to stdout: - head, tail, rm, cp, mv, ln, chmod, chown, chgrp, install, ln - These send it to stderr: - shred mkdir split - readlink is different - Write an autoconf test to work around build failure in HPUX's 64-bit mode. See notes in README -- and remove them once there's a work-around. -after 5.0, change doc strings (like df, ls, etc) not to use `,' -as thousands separator in e.g. 1,000,000. Instead, do this: - - SIZE may be (or may be an integer optionally followed by) one of following: - kB 1000, K 1024, MB 1000*1000, M 1024*1024 and so on for G, T, P, E, Z, Y. - Integrate use of sendfile, suggested here: http://mail.gnu.org/archive/html/bug-fileutils/2003-03/msg00030.html +I don't plan to do that, since a few tests demonstrate no significant benefit. Should printf '\0123' print "\n3"? per report from TAKAI Kousuke on Mar 27 @@ -54,21 +74,118 @@ printf: consider adapting builtins/printf.def from bash df: add `--total' option, suggested here http://bugs.debian.org/186007 -Martin Michlmayr's patch to provide ls with `--sort directory' option +tail: don't use xlseek; it *exits*. + Instead, maybe use a macro and return nonzero. + +tr: support nontrivial equivalence classes, e.g. [=e=] with LC_COLLATE=fr_FR + +lib/strftime.c: Since %N is the only format that we need but that + glibc's strftime doesn't support, consider using a wrapper that + would expand /%(-_)?\d*N/ to the desired string and then pass the + resulting string to glibc's strftime. + +unexpand: [http://www.opengroup.org/onlinepubs/007908799/xcu/unexpand.html] + printf 'x\t \t y\n'|unexpand -t 8,9 should print its input, unmodified. + printf 'x\t \t y\n'|unexpand -t 5,8 should print "x\ty\n" + +Let GNU su use the `wheel' group if appropriate. + (there are a couple patches, already) + +sort: Investigate better sorting algorithms; see Knuth vol. 3. + + We tried list merge sort, but it was about 50% slower than the + recursive algorithm currently used by sortlines, and it used more + comparisons. We're not sure why this was, as the theory suggests it + should do fewer comparisons, so perhaps this should be revisited. + List merge sort was implemented in the style of Knuth algorithm + 5.2.4L, with the optimization suggested by exercise 5.2.4-22. The + test case was 140,213,394 bytes, 426,4424 lines, text taken from the + GCC 3.3 distribution, sort.c compiled with GCC 2.95.4 and running on + Debian 3.0r1 GNU/Linux, 2.4GHz Pentium 4, single pass with no + temporary files and plenty of RAM. + + Since comparisons seem to be the bottleneck, perhaps the best + algorithm to try next should be merge insertion. See Knuth section + 5.3.1, who credits Lester Ford, Jr. and Selmer Johnson, American + Mathematical Monthly 66 (1959), 387-389. + +Remove suspicious uses of alloca (ones that may allocate more than + about 4k) + +Adapt these contribution guidelines for coreutils: + http://sources.redhat.com/automake/contribute.html + +Improve test coverage. + See HACKING for instructions on generating an html test coverage report. + Find a program that has poor coverage and improve. + +Changes expected to go in, someday. +====================================== + + dd patch from Olivier Delhomme + + test/mv/*: clean up $other_partition_tmpdir in all cases + + ls: when both -l and --dereference-command-line-symlink-to-dir are + specified, consider whether to let the latter select whether to + dereference command line symlinks to directories. Since -l has + an implicit --NO-dereference-command-line-symlink-to-dir meaning. + Pointed out by Karl Berry. + + dd: consider adding an option to suppress `bytes/block read/written' + output to stderr. Suggested here: + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=165045 + + Pending copyright papers: + ------------------------ + getpwnam from Bruce Korb + + pb (progress bar) from Miika Pekkarinen + + ------------------------------ + +Remove long-deprecated options. Search case-insensitive for +`deprecated' and `remove in '. Automate this. + +Add a distcheck-time test to ensure that every distributed +file is either read-only(indicating generated) or is +version-controlled and up to date. + +remove `%s' notation (now that they're all gone, add a maint.mk sc_ + rule to ensure no new ones are added): + grep -E "\`%.{,4}s'" src/*.c + +remove all uses of the `register' keyword: Done. add a maint.mk rule + for this, too. + +remove or adjust chown's --changes option, since it + can't always do what it currently says it does. + +Support arbitrary-precision arithmetic in those tools for which it +makes sense. Factor and expr already support this via libgmp. +The "test" program is covered via its string-based comparison of +integers. To be converted: seq. + +Adapt tools like wc, tr, fmt, etc. (most of the textutils) to be + multibyte aware. The problem is that I want to avoid duplicating + significant blocks of logic, yet I also want to incur only minimal + (preferably `no') cost when operating in single-byte mode. + +pr's use of nstrftime can make it malloc a very large (up to SIZE_MAX) buffer + +----- -seq: give better diagnostics for invalid formats: - e.g. no or too many % directives -seq: consider allowing format string to contain no %-directives +Copyright (C) 2002-2008 Free Software Foundation, Inc. -dd: consider adding an option to suppress `bytes/block read/written' -output to stderr. Suggested here: - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=165045 +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. -nl: fix this bug: - http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177256 - # printf 'a\n\n'|nl|cat -A - 1^Ia$ - $ - $ +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. -m4: rename all macros that start with AC_ to start with another prefix +You should have received a copy of the GNU General Public License +along with this program. If not, see .