SHEBANG_FILES

Paul Schmehl pschmehl_lists at tx.rr.com
Thu Jun 12 21:16:12 UTC 2014


I'm working on switching one of my ports over to staging.  During testing, 
I got this:

Error: '/usr/bin/perl' is an invalid shebang you need USES=shebangfix for 
'bin/argus-lsof'
Error: '/bin/bash' is an invalid shebang you need USES=shebangfix for 
'bin/argus-vmstat'

I've never seen this before, so I had to do a little digging.  Eventually I 
put this in the Makefile:

USES=    shebangfix
SHEBANG_FILES=    bin/argus-lsof bin/argus-vmstat

But I'm getting errors:

===>  Patching for argus-sasl-3.0.6.1
sed: bin/argus-lsof: No such file or directory

The argus-lsof and argus-vmstat files don't exist in the tarball.  They are 
created during the make process.  So I moved the SHEBANG_FILES line into 
the .do-install section.

do-install:
        ${INSTALL_PROGRAM} ${WRKSRC}/bin/argus 
${STAGEDIR}/${PREFIX}/sbin/argus
        SHEBANG_FILES=  bin/argus-lsof bin/argus-vmstat

Same error.

I even moved it inside the for loop that deals with the files:

       .for i in argus-lsof argus-snmp argus-vmstat argusbug
        SHEBANG_FILES=  bin/argus-lsof bin/argus-vmstat
        ${INSTALL_SCRIPT} ${WRKSRC}/bin/$i ${STAGEDIR}/${PREFIX}/bin/$i

No difference.

What's the proper way to do this?


-- 
Paul Schmehl, Senior Infosec Analyst
As if it wasn't already obvious, my opinions
are my own and not those of my employer.
*******************************************
"It is as useless to argue with those who have
renounced the use of reason as to administer
medication to the dead." Thomas Jefferson
"There are some ideas so wrong that only a very
intelligent person could believe in them." George Orwell



More information about the freebsd-ports mailing list