[121711] trunk/base/src

Joshua Root jmr at macports.org
Mon Sep 1 07:49:32 PDT 2014


On 2014-9-1 23:58 , Rainer Müller wrote:
> On 2014-07-04 20:20, jmr at macports.org wrote:
>> Revision: 121711
>>           https://trac.macports.org/changeset/121711
>> Author:   jmr at macports.org
>> Date:     2014-07-04 11:20:06 -0700 (Fri, 04 Jul 2014)
>> Log Message:
>> -----------
>> use parallel bzip2 if available
> 
> This breaks trace mode on my system as ${prefix}/bin/lbzip2 is not in
> the list of dependencies on extract:
> 
> $ sudo port -vt extract
> --->  Fetching distfiles for qemu
> --->  Verifying checksums for qemu
> --->  Checksumming qemu-2.1.0.tar.bz2
> --->  Extracting qemu
> --->  Extracting qemu-2.1.0.tar.bz2
> sh: /opt/local/bin/lbzip2: No such file or directory
> Warning: The following existing file was hidden from the build system by
> trace mode:
>   /opt/local/bin/lbzip2
> 
> (Even worse, port actually thinks this was a successful extract due to
> the shell pipe for tar, but that is another story.)
> 
>> Modified Paths:
>> --------------
>>     trunk/base/src/package1.0/portunarchive.tcl
>>     trunk/base/src/port1.0/portextract.tcl
>>     trunk/base/src/port1.0/portinstall.tcl
>>     trunk/base/src/registry2.0/portimage.tcl
> 
> [...]
> 
>> Modified: trunk/base/src/port1.0/portextract.tcl
>> ===================================================================
>> --- trunk/base/src/port1.0/portextract.tcl	2014-07-04 16:44:17 UTC (rev 121710)
>> +++ trunk/base/src/port1.0/portextract.tcl	2014-07-04 18:20:06 UTC (rev 121711)
>> @@ -90,7 +90,11 @@
>>          set extract.dir ${worksrcpath}
>>      }
>>      if {[tbool use_bzip2]} {
>> -        option extract.cmd [findBinary bzip2 ${portutil::autoconf::bzip2_path}]
>> +        if {![catch {findBinary lbzip2} result]} {
>> +            option extract.cmd $result
>> +        } else {
>> +            option extract.cmd [findBinary bzip2 ${portutil::autoconf::bzip2_path}]
>> +        }
>>      } elseif {[tbool use_lzma]} {
>>          option extract.cmd [findBinary lzma ${portutil::autoconf::lzma_path}]
>>      } elseif {[tbool use_xz]} {
> 
> Adding the corresponding depspec bin:lbzip2:lbzip2 to depends_extract
> would be too late at this point...

Right, it would have to be done in portfetch::set_extract_type.

> How does this work when it decides to
> use ${prefix}/bin/bzip2?

I would imagine it doesn't work. But it never tries so long as
${portutil::autoconf::bzip2_path} exists.

- Josh


More information about the macports-dev mailing list