* [Nitpicks] Non-standard Cygwin-only hashbangs in base-files, biber, hg, xlsx2csv, xmlto scripts
2017-07-19 17:11 Perpetual postinstall scripts Achim Gratz
@ 2017-07-27 5:42 ` Brian Inglis
0 siblings, 0 replies; 2+ messages in thread
From: Brian Inglis @ 2017-07-27 5:42 UTC (permalink / raw)
To: cygwin-apps
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
^ permalink raw reply [flat|nested] 2+ messages in thread