Seems to me that intent could be to have -s to select path from "installed" ones, and -c to select another ("custom") path. This is unnecessary duplication, though: we could just always talk about upgrade paths in terms of directories, making following specifications valid:
preupg -x /usr/lib/preupgrade/foo
preupg -x ./bar/baz
and of course, the XML filename is outright superfluous.
That said, there are many more things confusing and inconsistent about the CLI, so I'd prefer for this to be solved as part of greater CLI overhaul, eg. bug 1398488 - [RFE] split preupg binary.
There is much to be desired in terms of CLI options. I agree the CLI needs and overhaul. Also that options -s and -c are more or less duplicate and there can be just one.
In the meantime, I updated the help and man page so it says what the options actually do: https://github.com/upgrades-migrations/preupgrade-assistant/pull/219.
preupgrade-assistant-2.3.2-2.el6 now makes it clear:
-c ALL_XCCDF_PATH, --contents=ALL_XCCDF_PATH
Provide path to all-xccdf.xml of the set of modules
which is to be used for assesing the system. By
default, if there is just one set in
/usr/share/preupgrade, Preupgrade Assistant uses that
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.