[FIXED] ports/183791: audio/liba52 (liba52-0.7.4_2) is not jobs safe

Chad J. Milios milios at ccsys.com
Mon Dec 30 02:12:59 UTC 2013


> On Dec 25, 2013, at 8:02 AM, Peter <pmc at citylink.dinoex.sub.org> wrote:
> 
> This seems to be a race condition with the timestamps of the Makefiles. 
> "make install" thinks that the Makefiles are outdated, and recreates
> them before doing the install - but now with the target pointing directly 
> to /usr/local and not to the staging area.
> 
> In the log we can see this happening: 
> 
>> Making install in liba52
>> gmake[1]: Entering directory `/usr/ports/audio/liba52/work/a52dec-0.7.4/liba52'
>> cd .. \
>> && CONFIG_FILES=liba52/Makefile CONFIG_HEADERS= /bin/sh ./config.status
>> config.status: creating liba52/Makefile
>> config.status: executing default-1 commands
>> gmake[1]: Leaving directory `/usr/ports/audio/liba52/work/a52dec-0.7.4/liba52'
>> gmake[1]: Entering directory `/usr/ports/audio/liba52/work/a52dec-0.7.4/liba52'
>> gmake[2]: Entering directory `/usr/ports/audio/liba52/work/a52dec-0.7.4/liba52'
>> /bin/sh ../autotools/mkinstalldirs /usr/local/lib
> 
> while on successful runs these lines do not appear:
> 
>> Making install in liba52
>> gmake[1]: Entering directory `/usr/ports/audio/liba52/work/a52dec-0.7.4/liba52'
>> gmake[2]: Entering directory `/usr/ports/audio/liba52/work/a52dec-0.7.4/liba52'
>> /bin/sh ../autotools/mkinstalldirs /usr/ports/audio/liba52/work/stage/usr/local/lib
> 
> 
> I could not figure out why or how this happens - but for now a suitable 
> workaround seems to be the following addition to the (main) makefile:
> 
>> pre-install:
>>       touch work/a52dec-*/*/Makefile

I can confirm that addition to the Makefile worked perfectly for me on all of 200 runs on both test servers. Thanks Peter!

Can someone close the PR after making a commit with the addition of the aforementioned pre-install target to /usr/ports/audio/liba52/Makefile please? (No revision bump necessary.)

-Chad


More information about the freebsd-ports mailing list