Question on bug 383502

C de-Avillez hggdh2 at
Tue Sep 22 22:25:49 BST 2009


Bug 383502 was opened some time ago. The description reads:

"GNU coreutils has a new command, timeout(1), since version 7. Someone
suffered on Debian when coreutils's timeout clashed with an existing
timeout command from the package timeout.

(I'm surprised there's no automated check that two packages installing
onto the same path should conflict.) Debian's fix was to not install
the coreutils's timeout and this has passed into Ubuntu AFAICS.

I think this means a bug remains in Ubuntu 9.10. GNU coreutils would be
installed, but no timeout(1) command is present. Installing the timeout
package isn't an option; its timeout command is operationally
different, e.g. command line options.

It seems the right fix is to have packages coreutils and timeout
conflict so both can't be installed at the same time, but this would
suggest timeout would never be installed. :-) So perhaps the better
fix it to rename the timeout that comes from the timeout package for
those people that need that particular one. I feel GNU coreutils has
the right to pull rank; if its timeout isn't the one available it'll
just cause more problems in the long term."

This is a good point. The current /usr/bin/timeout is installed via
source package tct (universe). Given that coreutils is a base package,
it does make sense to accept this bug.

There are differences in parameters, though [1], and I do not know what
would be the impact.

So. How should we proceed here?



[1] --help output for both versions of 'timeout':

hggdh $ /usr/bin/timeout --help
usage: /usr/bin/timeout [-signal] time command...

hggdh $ /usr/local/bin/timeout --help
Usage: /usr/local/bin/timeout [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...
  or:  /usr/local/bin/timeout [OPTION]
Start COMMAND, and kill it if still running after NUMBER seconds.
SUFFIX may be `s' for seconds (the default), `m' for minutes,
`h' for hours or `d' for days.

Mandatory arguments to long options are mandatory for short options too.
  -s, --signal=SIGNAL
                   specify the signal to be sent on timeout.
                   SIGNAL may be a name like `HUP' or a number.
                   See `kill -l` for a list of signals
      --help     display this help and exit
      --version  output version information and exit

If the command times out, then exit with status 124.  Otherwise, exit
with the status of COMMAND.  If no signal is specified, send the TERM
signal upon timeout.  The TERM signal kills any process that does not
block or catch that signal.  For other processes, it may be necessary to
use the KILL (9) signal, since this signal cannot be caught.

Report timeout bugs to bug-coreutils at
GNU coreutils home page: <>
General help using GNU software: <>
For complete documentation, run: info coreutils 'timeout invocation'
hggdh $ 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
Url : 

More information about the ubuntu-devel mailing list