Subject: Re: bug#16291: Use of /bin/rm

From: Stefano Lattarini <[email-masked]>
Date: Sun, 29 Dec 2013 23:17:20 +0100

tags 16291 notabug
close 16291
stop

On 12/29/2013 10:49 PM, Ludovic Courtès wrote:
> Hello!
>
> While upgrading the GNU system to Automake 1.14.1, I noticed that a few
> tests emit warnings like this:
>
SKIPs are not warning, just informative messages explaining why some
tests couldn't be run.

> --8<---------------cut here---------------start------------->8---
> SKIP: t/spy-rm.tap 1 # SKIP /bin/rm not found
> PASS: t/spy-rm.tap 2 - rm -f
> SKIP: t/spy-rm.tap 3 # SKIP /bin/rm not found
> PASS: t/spy-rm.tap 4 - rm -rf
> SKIP: t/spy-rm.tap 5 # SKIP /bin/rm not found
> PASS: t/spy-rm.tap 6 - rm -fr
> --8<---------------cut here---------------end--------------->8---
> 
> There’s no /bin/rm in Guix build environments, hence the message (in
> fact, there’s no /bin at all.)
>
This is not a problem, since our test is smart enough to skip the checks
that would require the non-existent /bin/rm program.

> However, in general, I think packages should not rely on hardcoded file
> names, and instead use AC_PATH_PROG or similar mechanisms to get the
> right file name.
>
Not in this case.  The test is a "spy" check that tries to determine
whether either
  (1) the first 'rm' in PATH or
  (2) '/bin/rm' *if present*
is deficient, in that it errors out when the -f option is specified and
no non-option argument is passed.  If /bin/rm does not exist, it can't
be deficient, so the test correctly passes (I assume that happened in
your setup, right?  If not, that would be a bug, and you'd be justified
to reopen this report).

> Would it be possible to change these tests to use ‘rm’ instead of /bin/rm?
> What do you think?
>
That would be a bad idea, because we would miss warning from systems
where /bin/rm is deficient but the user has installed a better rm
(maybe from GNU coreutils) earlier in PATH.

If all you are seeing are few SKIP messages and no failure, I don't
think there is any problem to fix; everything is working as intended.

Thanks,
  Stefano