-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mixing default and custom paths #61
Labels
Comments
This was referenced Sep 23, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Environment
ign-tools
from binaries, some downstream libraries from sourceDescription
Expected behavior:
Ignition Tools looks for yaml configuration files in a few different paths:
ign-tools
was installedIGN_CONFIG_PATH
environment variableThe first supports libraries installed the same way as
ign-tools
. For example, ifign-tools
was installed from debs, then it will find other Ignition libraries also installed from debs. While the latter is convenient when installing libraries to custom locations, for example when installing from source for development.Currently, the user has to choose one or the other. It would be nice to have a way to easily combine both.
Actual behavior:
If
IGN_CONFIG_PATH
is set, then the install path is ignored.Steps to reproduce
ignition-tools
andlibignition-transport<n>
from debsign-msgs
from sourceign msgs --help
, you'll still be seeing the one from debsexport IGN_CONFIG_PATH=path_to_ign-msgs_source_install
ign msgs --help
, you'll see the one from source, but runningign
won't show ign-transport's commandsAdditional context
Here's where the path logic is:
https:/ignitionrobotics/ign-tools/blob/83d5de7e33da239f714245e53d91b05651601034/src/ign.in#L35-L37
As you can see, if
IGN_CONFIG_PATH
is set, it overrides the other.Also note how various Ignition libraries have a disclaimer on their READMEs because of this issue, i.e.
https:/ignitionrobotics/ign-msgs/#known-issue-of-command-line-tools
Suggested solution
I suggest that instead of
IGN_CONFIG_PATH
overriding the default install path, we prepend the install path with paths from the environment variable. This way, the user can override a deb install for one library, like on the example above, but still use all other libraries from debs. The downside is that there's no way to completely prevent debs from being used, but I'm not sure if there's a valid use case for that.The text was updated successfully, but these errors were encountered: