In the past, I've fixed countless shebang problems, and most of
these were not detected by qa.sh because it's limited with a small
set of subdirectories. The practice shows that broken scripts may
be located anywhere, and still need shebang fixes.
Several examples are:
- scripts called my an application internally, installed into ${DATADIR} or lib/${APP}
- scripts for users to call, such as fcgi applications
- example scripts installed into ${DOCSDIR} or ${EXAMPLESDIR} or sometimes into ${DATADIR}
- more stranger cases I can't remember, including ports which install into ${PREFIX}/subdir
Some real pending problems:
http://poudriere.amdmi3.ru/data/11-amd64-default/all_2016_11_18/logs/errors/github-backup-utils-2.7.1.log
http://poudriere.amdmi3.ru/data/11-amd64-default/all_2016_11_18/logs/errors/ptkei-2.00.0.log
http://poudriere.amdmi3.ru/data/11-amd64-default/all_2016_11_18/logs/errors/resource-agents-3.9.7.log
http://poudriere.amdmi3.ru/data/11-amd64-default/all_2016_11_18/logs/errors/web2ldap-1.2.71.log
http://poudriere.amdmi3.ru/data/11-amd64-default/all_2016_11_18/logs/errors/p5-Term-ANSIColor-4.05.log
http://poudriere.amdmi3.ru/data/11-amd64-default/all_2016_11_18/logs/errors/hashcat-3.10.log
http://poudriere.amdmi3.ru/data/11-amd64-default/all_2016_11_18/logs/errors/glusterfs-3.7.6.log
So I suggest to remove limitation from qa.sh and check for shebang problems in whole ${PREFIX}.
There are some false positives, but these are mainly development
scripts which should not be installed in the first place - it'd be
nice to detect these by qa.sh as well.