No matter what any launcher command “./launcher * app” exits with “ERROR: Config name must not contain upper case characters, spaces or special characters. Correct config name and rerun ./launcher.”
I always have to comment “exit 1” in this condition… it’s quite annoying…
AI-generated summary
Multiple users are experiencing an issue with the launcher, which always exits with an error message stating that the “Config name must not contain upper case characters, spaces or special characters.” jako512 reports that this occurs regardless of the launcher command used, and provides a trimmed script that reproduces the issue.
Further investigation by jako512 and Overgrow suggests that the problem may be related to locale settings, with jako512 finding that changing the locale to sk_SK.UTF-8 resolves the issue.
However, otlet reports that setting the locale to en_US.utf8 on CentOS7 does not resolve the issue. elijah suggests that exporting the locale after setting it may resolve the issue, and also provides an alternative script that is less locale-sensitive.
The root cause of the issue appears to be related to the launcher’s locale settings, and users may need to adjust their locale settings or use a modified script to resolve the issue.
Can you post one concrete call to launcher that does this for you?
All calls does it:
./launcher bootstrap app
./launcher start app
./launcher enter app
./launcher rebuild app
The following trimmed script does it too:
#!/bin/bash
re='[A-Z/ !@#$%^&*()+~`=]'
if [[ $1 =~ $re ]];
then
echo "ERROR: Config name must not contain upper case characters, spaces or special characters. Correct config name and rerun $0."
fi
I believe condition is somehow case insensitive however shopt nocasematch is disabled.
I tried it on clean ubuntu 14.04.3
I’ve got same problem when testing docker on Ubuntu 14.04.4
root@og:/var/discourse# lsb_release -a
Description: Ubuntu 14.04.4 LTS
root@og:/var/discourse# ./launcher rebuild app
ERROR: Config name must not contain upper case characters, spaces or special characters. Correct config name and rerun ./launcher.
The problem is related to locale.
Everything works as expected until I change the locale.
Try execute this before launcher:
locale-gen sk_SK.UTF-8
export LANG=sk_SK.UTF-8
I had this same problem on CentOS7
localectl set-locale LANG=en_US.utf8
I do this and still don’t work. I have no idea what can i do now? Some ideas?
Did you also export LANG=en_US.utf8 before running it? The current shell could have it’s own independent idea of locale.
As a separate matter, the test could be rewritten to be less locale sensitive:
#!/bin/bash
re='[^abcdefghijklmnopqrstuvwxyz0123456789_.-]'
if [[ $1 =~ $re ]];
then
echo "ERROR: Config name must not contain upper case characters, spaces or special characters. Correct config name and rerun $0."
fi
But maybe people wanted [configname] to work…