Hi folks, Running file(1) detects non-standard Cygwin-only hashbangs in base-files, biber, hg, xlsx2csv, xmlto scripts. If standard paths were used, these would be detected and named in file(1) output as POSIX shell, Perl, Python, etc. scripts.
The use of /usr/bin/sh instead of standard /bin/sh, /bin/python instead of /usr/bin/python, and /usr/bin/perl.exe instead of /usr/bin/perl could be a problem if these scripts were used in cross-build environments, and the exec function did not fall back to a path search for the interpreter. It would be nice if these could be cleaned up in the next releases, unless there are reasons for those non-standard paths to avoid use on non-Cygwin platforms. Also xmlto works only if the default /bin/sh is bash as it uses declare, echo -e, and test == -- either the hashbang or the bashisms should be fixed: see bottom for checkbashisms output. $ file /etc/preremove/base-files.sh /usr/bin/{biber,hg,xlsx2csv,xmlto} /etc/preremove/base-files.sh: a /usr/bin/sh script, ASCII text executable /usr/bin/biber: a /usr/bin/perl.exe script, UTF-8 Unicode text executable /usr/bin/hg: a /bin/python script, ASCII text executable /usr/bin/xlsx2csv: a /bin/python script, ASCII text executable /usr/bin/xmlto: a /usr/bin/sh script, ASCII text executable $ head -1 /etc/preremove/base-files.sh /usr/bin/{biber,hg,xlsx2csv,xmlto} ==> /etc/preremove/base-files.sh <== #!/usr/bin/sh ==> /usr/bin/biber <== #!/usr/bin/perl.exe ==> /usr/bin/hg <== #!/bin/python ==> /usr/bin/xlsx2csv <== #!/bin/python ==> /usr/bin/xmlto <== #!/usr/bin/sh $ checkbashisms /usr/bin/xmlto possible bashism in /usr/bin/xmlto line 134 (declare): declare -a XSL_MODS possible bashism in /usr/bin/xmlto line 138 (declare): declare -a CLEANFILES possible bashism in /usr/bin/xmlto line 583 (echo -e): [ "${VERBOSE}" -ge 1 ] && \ echo -e >&2 "${XSLTPROC_PATH} ${XSLTOPTS} ${SEARCHPATH_FORMATTED} \\\\\n -o \"${XSLT_PROCESSED}\" \\\\\n \"${STYLESHEET}\" \\\\\n \"${INPUT_FILE}\"" possible bashism in /usr/bin/xmlto line 590 (should be 'b = a'): if [ $? == 4 ] possible bashism in /usr/bin/xmlto line 595 (echo -e): echo -e >&2 "${XSLTPROC_PATH} ${XSLTOPTS} ${SEARCHPATH_FORMATTED}\\\\\n -o \"${XSLT_PROCESSED}\" \\\\\n \"${STYLESHEET}\" \\\\\n \"${INPUT_FILE}\"" -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada