tracelib
is not handling resource forks correctly.
Example from python27's destroot phase:
:info:destroot DYLD_FRAMEWORK_PATH=/opt/local/var/macports/build/_opt_local_var_macports_sources_macports.rsync.ionic.de_release_ports_lang_python27/python27/work/Python-2.7.8 ../python.exe ./scripts/cachersrc.py -v /opt/local/var/macports/build/_opt_local_var_macports_sources_macports.rsync.ionic.de_release_ports_lang_python27/python27/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac /opt/local/var/macports/build/_opt_local_var_macports_sources_macports.rsync.ionic.de_release_ports_lang_python27/python27/work/destroot/opt/local/Library/Frameworks/Python.framework/Versions/2.7/Mac/Tools
:info:destroot Traceback (most recent call last):
:info:destroot File "./scripts/cachersrc.py", line 44, in <module>
:info:destroot main()
:info:destroot File "./scripts/cachersrc.py", line 41, in main
:info:destroot os.path.walk(dir, handler, (verbose, force))
:info:destroot File "/opt/local/var/macports/build/_opt_local_var_macports_sources_macports.rsync.ionic.de_release_ports_lang_python27/python27/work/Python-2.7.8/Mac/../Lib/posixpath.py", line 238, in walk
:info:destroot func(arg, top, names)
:info:destroot File "./scripts/cachersrc.py", line 23, in handler
:info:destroot macresource.open_pathname(os.path.join(dirname, fn), verbose=verbose)
:info:destroot File "/opt/local/var/macports/build/_opt_local_var_macports_sources_macports.rsync.ionic.de_release_ports_lang_python27/python27/work/Python-2.7.8/Lib/plat-mac/macresource.py", line 84, in open_pathname
:info:destroot refno = Res.FSOpenResourceFile(pathname, u'', 1)
:info:destroot MacOS.Error: (-43, 'Mac OS error code -43')
[...]
:warn:destroot An activity was attempted outside sandbox: /.vol/16777218/20139854/HIToolbox.rsrc
:warn:destroot An activity was attempted outside sandbox: /.vol/16777218/20139854/HIToolbox.rsrc/..namedfork/rsrc
:warn:destroot An activity was attempted outside sandbox: /.vol/16777218/20142168/Localized.rsrc
:warn:destroot An activity was attempted outside sandbox: /.vol/16777218/20142168/Localized.rsrc/..namedfork/rsrc
:warn:destroot An activity was attempted outside sandbox: /.vol/16777218/53126995/python.exe/..namedfork/rsrc
:warn:destroot An activity was attempted outside sandbox: /.vol/16777218/53130438/errors.rsrc
:warn:destroot An activity was attempted outside sandbox: /.vol/16777218/53136261/dialogs.rsrc
For python.exe
, denying access to the resource fork leads to a build failure.
The /.vol/.../
path should be resolved to the real one and checks performed against that.
Cc Me!