pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg/45444



The following reply was made to PR pkg/45444; it has been noted by GNATS.

From: David Holland <dholland-pbugs%netbsd.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: Re: pkg/45444
Date: Thu, 7 Jun 2012 20:21:17 +0000

 On Thu, Jun 07, 2012 at 03:00:08PM +0000, Jonathan Perkin wrote:
  >  I dug further into this today, and have narrowed down the problem, but
  >  as yet cannot explain it.
  >  
  >  The offending section is in unit-tests/dotwait:
  >  
  >    all:
  >    .for t in ${TESTS}
  >     @${.MAKE} -f ${THISMAKEFILE} -j4 $t | grep -v "^--- "
  >    .endfor
  >  
  >  According to truss(1), the grep is never executed when /usr/xpg4/bin
  >  is first in $PATH.  However, and oddly, if the grep call is changed to
  >  a full path (and apparently to any version of grep), then it's fine -
  >  for example:
  >  
  >    all:
  >    .for t in ${TESTS}
  >     @${.MAKE} -f ${THISMAKEFILE} -j4 $t | /usr/xpg4/bin/grep -v "^--- "
  >    .endfor
  >  
  >  works fine, as does /usr/bin/grep (PATH=/usr/xpg4/bin:/usr/bin).
 
 That is bizarre.
 
 Is this happening because make is passing the whole thing to the
 shell, and the shell is losing the second half of the pipeline, or
 because make is incorrectly thinking it can execute the command
 directly and then doing it wrong? It should be fairly straightforward
 to check this in the truss output.
 
 -- 
 David A. Holland
 dholland%netbsd.org@localhost
 


Home | Main Index | Thread Index | Old Index