]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
make-dist: refuse to run if script path contains a colon 40614/head
authorNathan Cutler <ncutler@suse.com>
Tue, 6 Apr 2021 11:04:04 +0000 (13:04 +0200)
committerNathan Cutler <ncutler@suse.com>
Mon, 12 Apr 2021 07:50:51 +0000 (09:50 +0200)
Colons are not permissible in POSIX paths and their presence is known to break
the script.

Fixes: https://tracker.ceph.com/issues/39556
Signed-off-by: Nathan Cutler <ncutler@suse.com>
make-dist

index 043f3271b5622b0cbd9bd5e1bf8ad37505373b29..24475d2dac3d412fce084038272116fa3086cf07 100755 (executable)
--- a/make-dist
+++ b/make-dist
@@ -1,7 +1,21 @@
 #!/bin/bash -e
 
+SCRIPTNAME="$(basename "${0}")"
+BASEDIR="$(readlink -f "$(dirname "${0}")")"
+
 if [ ! -d .git ]; then
-    echo "no .git present.  run this from the base dir of the git checkout."
+    echo "$SCRIPTNAME: Full path to the script: $BASEDIR/$SCRIPTNAME"
+    echo "$SCRIPTNAME: No .git present. Run this from the base dir of the git checkout."
+    exit 1
+fi
+
+# Running the script from a directory containing a colon anywhere in the path
+# will expose us to the dreaded "[BUG] npm run [command] failed if the directory
+# path contains colon" bug https://github.com/npm/cli/issues/633
+# (see https://tracker.ceph.com/issues/39556 for details)
+if [[ "$BASEDIR" == *:* ]] ; then
+    echo "$SCRIPTNAME: Full path to the script: $BASEDIR/$SCRIPTNAME"
+    echo "$SCRIPTNAME: The path to the script contains a colon. Their presence has been known to break the script."
     exit 1
 fi