Created attachment 147669 [details]
According to make(1) manpage
Since make will chdir(2) to ‘.OBJDIR’ before executing any targets, each
child process starts with that as its current working directory.
and absolute paths are more commonplace in ports without an explicit |cd|.
$ export MAKEOBJDIRPREFIX=$HOME/.cache
$ export WRKDIRPREFIX=$HOME/.cache
$ make -V .OBJDIR
$ mkdir /home/foo/.cache/p/security/vuxml
$ make validate
/bin/sh /p/security/vuxml/files/tidy.sh "/p/security/vuxml/files/tidy.xsl" "/p/security/vuxml/vuln.xml" > "/p/security/vuxml/vuln.xml.tidy"
/usr/local/bin/xmllint --valid --noout /p/security/vuxml/vuln.xml
Checking if tidy differs...
... seems okay
Checking for space/tab...
... seems okay
Traceback (most recent call last):
File "/p/security/vuxml/files/extra-validation.py", line 8, in <module>
tree = ET.parse('vuln.xml')
File "/usr/local/lib/python2.7/xml/etree/ElementTree.py", line 1182, in parse
File "/usr/local/lib/python2.7/xml/etree/ElementTree.py", line 647, in parse
source = open(source, "rb")
IOError: [Errno 2] No such file or directory: 'vuln.xml'
*** Error code 1
Auto-assigned to maintainer ports-secteam@FreeBSD.org
Created attachment 147670 [details]
A commit references this bug:
Date: Fri May 22 07:04:29 UTC 2015
New revision: 386985
Pass full path to the vuln.xml file to extra-validation.py. Without this,
if .OBJDIR differs from .CURDIR, the validation would fail.
Reported by: jbeich
Fixed differently, thanks for your submission!