Regression in sh(1) ? (Was: make delete-old fails when removing catpages)

Antoine Brodin antoine at FreeBSD.org
Thu Jan 14 18:10:29 UTC 2010


Jeff Blank <jfb at mr-happy.com> wrote:
> Hi,
> 
> 9-CURRENT, csups around 2000 UTC yesterday and 0100 UTC today, fails
> when removing some catpages during 'make delete-old'.  Output below is
> from after the initial failure, and context had left my scrollback
> buffer, but the first file that failed was /usr/share/man/cat1/rcp.1.gz.
> I removed it by hand with no issues and ran again:
> 
> ==========
> # make delete-old
> >>> Removing old files (only deletes safe to delete libs)
> remove /usr/share/man/cat1/ipftest.1.gz? *** Error code 1
> 
> Stop in /usr/src.
> *** Error code 1
> 
> Stop in /usr/src.
> # rm /usr/share/man/cat1/ipftest.1.gz
> # make delete-old
> >>> Removing old files (only deletes safe to delete libs)
> remove /usr/share/man/cat1/ipresend.1.gz? *** Error code 1
> 
> Stop in /usr/src.
> *** Error code 1
> 
> Stop in /usr/src.
[Snip]

This seems to be a regression in sh(1).
Simple test case:
This succeeds on stable/8:
%%%
> sh
$ touch /tmp/foo; 3<&0; echo /tmp/foo | while read i; do rm -vi ${i} <&3 ; done
remove /tmp/foo? y
/tmp/foo
%%%

and fails on head:
%%%
> sh
$ touch /tmp/foo; 3<&0; echo /tmp/foo | while read i; do rm -vi ${i} <&3 ; done
remove /tmp/foo? $ 
%%%

Cheers,

Antoine


More information about the freebsd-current mailing list