[MacPorts] #21864: bad code in fs-traverse update in portarchive.tcl
MacPorts
noreply at macports.org
Mon Oct 5 09:26:02 PDT 2009
#21864: bad code in fs-traverse update in portarchive.tcl
----------------------------------------+-----------------------------------
Reporter: david.osguthorpe@… | Owner: macports-tickets@…
Type: defect | Status: new
Priority: High | Milestone:
Component: base | Version: 1.8.0
Keywords: | Port:
----------------------------------------+-----------------------------------
Since 1.8.0 at least (but not at 1.7.0) the original 1.7.0 find code in
archive_main in portarchive.tcl
{{{
foreach fullpath [exec find $destpath ! -type d] {
...
}
}}}
was replaced by an fs-traverse call
{{{
fs-traverse fullpath $destpath {
if {[file isdirectory $fullpath]} {
continue
}
....
}
}}}
this code terminates immediately as the first fullpath is a directory
which is skipped and hence the contents of the directory are not scanned -
... is never executed for anything
this means since 1.8.0 all +CONTENTS files in archives are incorrect as
they do not have a file list
fixups are
{{{
fs-traverse -depth fullpath $destpath {
if {[file isdirectory $fullpath]} {
continue
}
....
}
}}}
or
{{{
fs-traverse fullpath $destpath {
if {![file isdirectory $fullpath]} {
...
}
}
}}}
--
Ticket URL: <http://trac.macports.org/ticket/21864>
MacPorts <http://www.macports.org/>
Ports system for Mac OS
More information about the macports-tickets
mailing list