|
|
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 <https://hans.ecke.ws> in |
|
|
https://lists.gnu.org/r/bug-coreutils/2004-09/msg00145.html |
|
|
Discussed more recently on <https://bugs.debian.org/497514>. |
|
|
|
|
|
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 %jd 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 |
|
|
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. |
|
|
|
|
|
consider adding some implementation of the "col" utility |
|
|
Suggested by 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. |
|
|
|
|
|
ls: add |
|
|
|
|
|
copy.c: Address the FIXME-maybe comment in copy_internal. |
|
|
And once that's done, add an exclusion so that 'cp |
|
|
no longer incurs the overhead of saving src. dev/ino and dest. filename |
|
|
in the hash table. |
|
|
|
|
|
Write an autoconf test to work around build failure in HPUX's 64-bit mode. |
|
|
See notes in README-install |
|
|
|
|
|
Integrate use of sendfile, suggested here: |
|
|
https://lists.gnu.org/r/bug-fileutils/2003-03/msg00030.html |
|
|
I don't plan to do that, since a few tests demonstrate no significant benefit. |
|
|
|
|
|
printf: consider adapting builtins/printf.def from bash |
|
|
|
|
|
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. |
|
|
|
|
|
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. |
|
|
|
|
|
shred: Update shred as described here to conform to DoD 5220 rules: |
|
|
https://lists.gnu.org/r/bug-coreutils/2007-05/msg00075.html |
|
|
|
|
|
Remove suspicious uses of alloca (ones that may allocate more than |
|
|
about 4k) |
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|