summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
Diffstat (limited to 'TODO')
-rw-r--r--TODO136
1 files changed, 52 insertions, 84 deletions
diff --git a/TODO b/TODO
index 0e62630..de95e5a 100644
--- a/TODO
+++ b/TODO
@@ -1,14 +1,41 @@
-stty.c:
- use xstrtoul, not sscanf
+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 <http://hans.ecke.ws> in
+ http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/2920
+ Discussed more recently on <http://bugs.debian.org/497514>.
+
+document the following in coreutils.texi:
+ [
+ pinky
+
+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 form Eric Blake.
+ Suggestion from Eric Blake.
-strip: add an option to specify the program used to strip binaries.
- suggestion from Karl Berry
+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
@@ -16,21 +43,11 @@ doc/coreutils.texi:
ls: add --format=FORMAT option that controls how each line is printed.
-cp --no-preserve=X should not attempt to preserve attribute X
- reported by Andreas Schwab
-
copy.c: Address the FIXME-maybe comment in copy_internal.
-And once that's done, add an exclusion so that `cp --link'
+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.
-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.
@@ -38,25 +55,11 @@ 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
- http://mail.gnu.org/archive/html/bug-coreutils/2003-03/index.html
-
printf: consider adapting builtins/printf.def from bash
-df: add `--total' option, suggested here http://bugs.debian.org/186007
-
-seq: give better diagnostics for invalid formats:
- e.g. no or too many % directives
-seq: consider allowing format string to contain no %-directives
-
-resolve RH report on cp -a forwarded by Tim Waugh
-
tail: don't use xlseek; it *exits*.
Instead, maybe use a macro and return nonzero.
-add mktemp? Suggested by Nelson Beebe
-
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
@@ -64,18 +67,10 @@ lib/strftime.c: Since %N is the only format that we need but that
would expand /%(-_)?\d*N/ to the desired string and then pass the
resulting string to glibc's strftime.
-sort: Compress temporary files when doing large external sort/merges.
- This improves performance when you can compress/uncompress faster than
- you can read/write, which is common in these days of fast CPUs.
- suggestion from Charles Randall on 2001-08-10
-
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
@@ -94,9 +89,8 @@ sort: Investigate better sorting algorithms; see Knuth vol. 3.
5.3.1, who credits Lester Ford, Jr. and Selmer Johnson, American
Mathematical Monthly 66 (1959), 387-389.
-cp --recursive: perform dir traversals in source and dest hierarchy rather
- than forming full file names. The latter (current) approach fails
- unnecessarily when the names become very long.
+shred: Update shred as described here to conform to DoD 5220 rules:
+http://lists.gnu.org/archive/html/bug-coreutils/2007-05/msg00075.html
Remove suspicious uses of alloca (ones that may allocate more than
about 4k)
@@ -104,16 +98,15 @@ Remove suspicious uses of alloca (ones that may allocate more than
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
- Andreas Gruenbacher's xattr changes
-
- Apply Bruno Haible's hostname changes
-
test/mv/*: clean up $other_partition_tmpdir in all cases
ls: when both -l and --dereference-command-line-symlink-to-dir are
@@ -122,71 +115,47 @@ Changes expected to go in, someday.
an implicit --NO-dereference-command-line-symlink-to-dir meaning.
Pointed out by Karl Berry.
- A more efficient version of factor, and possibly one that
- accepts inputs of size 2^64 and larger.
-
- 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:
------------------------
- ls --color: Ed Avis' patch to suppress escape sequences for
- non-highlighted files
-
getpwnam from Bruce Korb
pb (progress bar) from Miika Pekkarinen
------------------------------
-Have euidaccess.m4 check for eaccess as well as euidaccess
-If found, then do `#define euidaccess eaccess'.
-
Remove long-deprecated options. Search case-insensitive for
-`deprecated' and `remove in '. Automate this.
+'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.
-Implement Ulrich Drepper's suggestion to use getgrouplist rather
- than getugroups. This affects only `id', but makes a big difference
- on systems with many users and/or groups, and makes id usable once
- again on systems where access restrictions make getugroups fail.
- But first we'll need a run-test (either in an autoconf macro or at
- run time) to avoid the segfault bug in libc-2.3.2's getgrouplist.
- In that case, we'd revert to using a new (to-be-written) getgrouplist
- module that does most of what `id' already does. Or just avoid the
- buggy use of getgrouplist by never passing it a buffer of length zero.
- See https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=200327
-
-remove `%s' notation:
- 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.
-
-Remove all uses of the `register' keyword
+ (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
-ls.c: use gettime rather than clock_gettime, gettimeofday, time
-
-----
-Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-Inc.
+Copyright (C) 2002-2016 Free Software Foundation, Inc.
-This program is free software; you can redistribute it and/or modify
+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 2, or (at your option)
-any later version.
+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
@@ -194,5 +163,4 @@ 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, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+along with this program. If not, see <http://www.gnu.org/licenses/>.