tree ce9f36765d09a45f5b614eb8a6786d3825d04907
parent 17f6f2fd17935eb5e564f621c71244b4a3ddeafb
author Nico Boehr <nrb@linux.ibm.com> 1726217804 +0200
committer Thomas Huth <thuth@redhat.com> 1728548660 +0200

configure: process arguments not starting with dash

We have arguments in the configure script which take an additional
parameter, like --host-key-document. The syntax is as follows:

  --host-key-document=PARAMETER

We always expect an equals sign (=) after the argument name and the
parameter.

If the user omits '=' between the argument name and parameter, both
words will be interpreted as parameter-less arguments.

This on its own is not a problem, since the parameter would normally not
be a valid argument name and should hence lead to an error message.
However, this doesn't work currently.

The configure script stops parsing arguments when an argument starting
with something other than a dash is encountered. This means that
specifying arguments such as:

  --host-key-document /tmp/test --gen-se-header=/usr/bin/gen-se-header

Will actually lead to --gen-se-header being ignored. Note the space
instead of equals sign after --host-hey-document.

In addition, --host-key-document only verifies its parameter when it is
not empty so we will just continue as if no arguments were specified in
the case above.

This can be highly confusing, hence consume _all_ specified arguments,
even if they don't start with a dash. This will lead to an error in the
case above.

Signed-off-by: Nico Boehr <nrb@linux.ibm.com>
Message-ID: <20240913085709.122017-1-nrb@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
