[MDEV-5436] mysql_config returns non-zero when running without parameters Created: 2013-12-12  Updated: 2014-02-27  Resolved: 2014-02-21

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: 5.5.34
Fix Version/s: 5.5.36

Type: Bug Priority: Minor
Reporter: Honza Horak Assignee: Sergei Golubchik
Resolution: Fixed Votes: 0
Labels: None
Environment:

Linux



 Description   

When running mysql_config without any parameters, it returns 1 as exit code. It seems like improper behaviour, because any arguments are voluntary according to usage description. So it seems it should exit with 0 when running without any parameters.

This is obviously not a serious bug, but can make problems for some tools that handle exit codes automatically.

This can be a fix:

diff -up mariadb-5.5.34/scripts/mysql_config.sh.exitcode mariadb-5.5.34/scripts/mysql_config.sh
--- mariadb-5.5.34/scripts/mysql_config.sh.exitcode	2013-12-12 16:37:20.085758119 +0100
+++ mariadb-5.5.34/scripts/mysql_config.sh	2013-12-12 16:38:06.749781337 +0100
@@ -158,6 +158,7 @@ libs=`echo "$libs" | sed -e 's;  \+; ;g'
 libs_r=`echo "$libs_r" | sed -e 's;  \+; ;g' | sed -e 's;^ *;;' | sed -e 's; *\$;;'`
 embedded_libs=`echo "$embedded_libs" | sed -e 's;  \+; ;g' | sed -e 's;^ *;;' | sed -e 's; *\$;;'`
 
+# 1st argument is exit code, 1 if omitted
 usage () {
         cat <<EOF
 Usage: $0 [OPTIONS]
@@ -176,10 +177,10 @@ Options:
                 pkglibdir     [$pkglibdir]
                 plugindir     [$plugindir]
 EOF
-        exit 1
+        exit ${1:-1}
 }
 
-if test $# -le 0; then usage; fi
+if test $# -le 0; then usage 0; fi
 
 while test $# -gt 0; do
         case $1 in



 Comments   
Comment by Sergei Golubchik [ 2014-01-19 ]

I would rather change the description to say that options are required. Apparently, the use case is something like

CFLAGS=`mysql_config --cflags`

that is, calling mysql_config without options isn't useful for tools.

Still, if you'd prefer that, I can change the exit code.

Comment by Honza Horak [ 2014-01-21 ]

Well, just given the fact there is quite nice output of mysql_config without args, it seems to me like it was mentioned to be run that way for any reason. So I'd simply vote for changing the exit code, but I don't have any stronger reasons.

Generated at Thu Feb 08 07:04:22 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.