2008-01-16 20:18:47 +01:00
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
==================================================
|
2008-09-03 08:32:36 +02:00
|
|
|
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>.
|
|
|
|
|
|
2007-12-01 17:42:40 +01:00
|
|
|
document the following in coreutils.texi:
|
|
|
|
|
mktemp
|
|
|
|
|
[
|
|
|
|
|
pinky
|
|
|
|
|
|
2008-06-26 21:16:17 +02:00
|
|
|
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.
|
|
|
|
|
|
2008-05-06 14:29:57 +02:00
|
|
|
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]
|
|
|
|
|
|
2007-03-08 22:01:05 +01:00
|
|
|
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.
|
2007-09-22 08:28:21 +02:00
|
|
|
Suggestion from Eric Blake.
|
2007-03-08 22:01:05 +01:00
|
|
|
|
2007-09-22 08:28:21 +02:00
|
|
|
renice: POSIX utility, needs implementing.
|
|
|
|
|
suggestion from Karl Berry (among others).
|
2008-01-16 20:18:47 +01:00
|
|
|
Bob Proulx is working on this.
|
2007-09-22 08:28:21 +02:00
|
|
|
|
2002-12-06 15:38:26 +00:00
|
|
|
doc/coreutils.texi:
|
|
|
|
|
Address this comment: FIXME: mv's behavior in this case is system-dependent
|
2002-12-11 10:12:41 +00:00
|
|
|
Better still: fix the code so it's *not* system-dependent.
|
2002-12-15 08:40:42 +00:00
|
|
|
|
2003-03-02 10:06:00 +00:00
|
|
|
ls: add --format=FORMAT option that controls how each line is printed.
|
2003-03-04 21:53:04 +00:00
|
|
|
|
|
|
|
|
cp --no-preserve=X should not attempt to preserve attribute X
|
|
|
|
|
reported by Andreas Schwab
|
2003-03-10 18:26:16 +00:00
|
|
|
|
|
|
|
|
copy.c: Address the FIXME-maybe comment in copy_internal.
|
2003-03-10 18:27:27 +00:00
|
|
|
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.
|
2003-03-11 17:08:50 +00:00
|
|
|
|
2003-03-27 10:55:18 +00:00
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
Integrate use of sendfile, suggested here:
|
|
|
|
|
http://mail.gnu.org/archive/html/bug-fileutils/2003-03/msg00030.html
|
2003-04-08 10:14:19 +00:00
|
|
|
I don't plan to do that, since a few tests demonstrate no significant benefit.
|
2003-03-28 09:30:46 +00:00
|
|
|
|
|
|
|
|
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
|
2003-03-28 09:38:54 +00:00
|
|
|
|
2003-05-13 12:42:16 +00:00
|
|
|
tail: don't use xlseek; it *exits*.
|
|
|
|
|
Instead, maybe use a macro and return nonzero.
|
2003-06-03 06:53:45 +00:00
|
|
|
|
2003-06-18 09:24:50 +00:00
|
|
|
tr: support nontrivial equivalence classes, e.g. [=e=] with LC_COLLATE=fr_FR
|
2003-06-18 11:00:20 +00:00
|
|
|
|
|
|
|
|
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.
|
2003-07-14 18:39:37 +00:00
|
|
|
|
2003-07-19 17:30:49 +00:00
|
|
|
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"
|
2003-07-23 06:59:54 +00:00
|
|
|
|
2003-07-24 09:20:18 +00:00
|
|
|
Let GNU su use the `wheel' group if appropriate.
|
|
|
|
|
(there are a couple patches, already)
|
2003-07-23 06:59:54 +00:00
|
|
|
|
2003-08-02 06:27:13 +00:00
|
|
|
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.
|
2003-08-22 09:46:16 +00:00
|
|
|
|
2009-01-22 13:09:44 +00:00
|
|
|
shred: Update shred as described here to conform to DoD 5220 rules:
|
|
|
|
|
http://lists.gnu.org/archive/html/bug-coreutils/2007-05/msg00075.html
|
|
|
|
|
|
2003-12-19 12:55:49 +00:00
|
|
|
Remove suspicious uses of alloca (ones that may allocate more than
|
|
|
|
|
about 4k)
|
2004-01-09 18:28:44 +00:00
|
|
|
|
2004-01-13 09:29:02 +00:00
|
|
|
Adapt these contribution guidelines for coreutils:
|
|
|
|
|
http://sources.redhat.com/automake/contribute.html
|
2004-02-02 17:41:52 +00:00
|
|
|
|
2008-04-30 08:49:59 -04:00
|
|
|
Improve test coverage.
|
|
|
|
|
See HACKING for instructions on generating an html test coverage report.
|
|
|
|
|
Find a program that has poor coverage and improve.
|
2004-02-02 17:41:52 +00:00
|
|
|
|
2006-02-23 14:57:08 +00:00
|
|
|
Changes expected to go in, someday.
|
2004-02-02 17:41:52 +00:00
|
|
|
======================================
|
|
|
|
|
|
|
|
|
|
dd patch from Olivier Delhomme
|
|
|
|
|
|
2004-02-04 09:46:10 +00:00
|
|
|
test/mv/*: clean up $other_partition_tmpdir in all cases
|
2004-02-05 09:08:52 +00:00
|
|
|
|
|
|
|
|
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.
|
2004-02-06 16:47:52 +00:00
|
|
|
|
2004-04-18 13:40:50 +00:00
|
|
|
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
|
|
|
|
|
|
2004-02-10 07:54:16 +00:00
|
|
|
Pending copyright papers:
|
|
|
|
|
------------------------
|
2004-03-15 15:16:37 +00:00
|
|
|
getpwnam from Bruce Korb
|
|
|
|
|
|
|
|
|
|
pb (progress bar) from Miika Pekkarinen
|
2004-06-14 18:12:44 +00:00
|
|
|
|
2005-06-21 12:46:40 +00:00
|
|
|
------------------------------
|
|
|
|
|
|
2006-02-23 14:57:08 +00:00
|
|
|
Remove long-deprecated options. Search case-insensitive for
|
2006-08-15 11:23:44 +00:00
|
|
|
`deprecated' and `remove in '. Automate this.
|
2004-12-15 16:15:16 +00:00
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
2008-03-20 07:19:56 -06:00
|
|
|
remove `%s' notation (now that they're all gone, add a maint.mk sc_
|
2008-01-16 20:18:47 +01:00
|
|
|
rule to ensure no new ones are added):
|
2004-12-15 16:15:16 +00:00
|
|
|
grep -E "\`%.{,4}s'" src/*.c
|
|
|
|
|
|
2008-03-20 07:19:56 -06:00
|
|
|
remove all uses of the `register' keyword: Done. add a maint.mk rule
|
2008-01-16 20:18:47 +01:00
|
|
|
for this, too.
|
|
|
|
|
|
2004-12-15 16:15:16 +00:00
|
|
|
remove or adjust chown's --changes option, since it
|
|
|
|
|
can't always do what it currently says it does.
|
|
|
|
|
|
expr: support arbitrary-precision arithmetic
* src/Makefile.am (expr_LDADD): Link expr against GNU MP.
* doc/coreutils.texi (expr invocation): Describe --bignum,
--no-bignum. Explain the new arbitrary-precision functionality.
* NEWS: Indicate that arbitrary-precision arithmetic is now
supported in expr.
* src/expr.c (enum valtype): Added mp_integer, signifying a GNU MP
number.
(usage): Document the new options --bignum and --no-bignum which
force and prohibit the use of arbitrary-precision arithmetic,
respectively.
(long_options): data structure for getopt_long, which we need to
use to parse the options mentioned above.
(main): parse these options with getopt_long instead of
parse_long_options.
(valinfo): Downgrade the numeric member of the union from
intmax_t to signed long, since MP lacks functions for promoting an
intmax_t to an arbitrary-precision quantity.
(enum arithmetic_mode): Represents the current choice between
--bignum, --no-bignum and the default (automatically switch from
one to the other if needed).
(integer_overflow): issue a more explicit error message indicating
that MP is not available.
(string_too_long): new function, emits a fatal error message for
the case where an argument to the 'index' expression is too long
for a string offset to be represented.
(int_value): With --bignum, create the value as mp_integer rather
than plain integer.
(substr_value): factored out of eval6; implements "substr".
(freev): also destroy mp_integer values. Check that no mp_integer
values exist if --no-bignum was specified.
(printv, null, tostring): support mp_integer.
(toint): new funtion for converting from string or mp_integer to
integer.
(getsize): extracts a size_t value from a VALUE object; used to
implement substr.
(promote): promotes a value from integer to mp_integer.
(domult, dodivide): functions for multiplication and division,
factored out of eval4.
(doadd): addition/subraction function, factpred out of eval3.
(eval3): support mp_integer types; call doadd.
(eval4): support mp_integer types; call domult, dodivide.
(eval6): support mp_integer offsets and lengths for "substr" and
"index".
* TODO: Mention that expr supports arbitrary-precision arithmetic,
and suggest that this might also be a good idea for seq.
* AUTHORS (expr): Add James Youngman.
2008-08-02 21:49:46 +01:00
|
|
|
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.
|
|
|
|
|
|
2004-12-15 16:15:16 +00:00
|
|
|
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.
|
2005-01-23 20:38:11 +00:00
|
|
|
|
2006-06-25 20:45:32 +00:00
|
|
|
pr's use of nstrftime can make it malloc a very large (up to SIZE_MAX) buffer
|
|
|
|
|
|
2006-08-17 19:58:17 +00:00
|
|
|
-----
|
|
|
|
|
|
2009-02-18 06:07:30 -07:00
|
|
|
Copyright (C) 2002-2009 Free Software Foundation, Inc.
|
2006-08-17 19:58:17 +00:00
|
|
|
|
2007-07-23 14:35:58 +02:00
|
|
|
This program is free software: you can redistribute it and/or modify
|
2006-08-17 19:58:17 +00:00
|
|
|
it under the terms of the GNU General Public License as published by
|
2007-07-23 14:35:58 +02:00
|
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
|
|
|
(at your option) any later version.
|
2006-08-17 19:58:17 +00:00
|
|
|
|
|
|
|
|
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
|
2007-07-23 14:35:58 +02:00
|
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|